JavaScript 类级字段
在任何面向对象的编程语言中,类可以有私有和公有字段。字段只是保存信息的变量。面向对象编程语言中有两种类型的字段,即实例字段和静态字段。实例成员属于特定实例。
示例: 如果我们创建3个实例(对象),则内存中将有3个副本的实例字段,而无论我们创建多少个实例,静态字段始终只有一个副本。简而言之,静态变量是所有对象都共有的变量。
私有实例字段: 默认情况下,类的所有属性都是公共的,并且可以在类外部修改。因此,为了声明一个私有类字段,我们需要使用#前缀。
语法:
让我们来看下面的示例:
Javascript
输出:
解释: 在上面的示例中,我们使用 # 来声明一个私有变量。运行上述脚本将显示一个错误,错误信息为“私有字段 ‘#value’ 必须在封闭类中声明”,因为我们试图在类外部访问一个私有变量。所以我们尝试通过定义一个函数来获取该值,代码如下:
JavaScript代码:
输出:
私有的静态字段: 静态字段可以使用关键字static来创建。有时静态字段也会被保持隐藏,你可以将它们设为私有。
语法:
让我们来看下面的示例:
Javascript
输出:
解释: 要调用静态字段,我们需要使用构造类的名称。在上面的示例中,我们使用关键字static和#为私有字段创建了一个私有静态字段名称,并将其初始化为一个空字符串。类似地,我们创建了一个私有静态字段age。现在为了调用上面创建的字段,我们使用构造类User的名称作为User.#name和User.#age。
公有实例字段: 默认情况下,类的所有属性都是公有的,可以在类外部轻松访问。您可以在声明变量时初始化变量的值。
让我们看下面的示例:
Javascript
输出:
解释: 在上面的示例中,value被声明为公共实例,并初始化为1,所以我们可以很容易地通过 counter.value 进行访问。对于公共实例字段,在构造函数、方法以及类外部没有访问和修改的限制。
公共静态字段: 如之前讨论的,静态字段通过使用static关键字来创建,形式为static staticFieldName。
让我们看下面的示例:
Javascript
输出:
解释: 如你所见,通过使用类名我们可以轻松地在类外部访问公共静态字段。