如何定义实例和非实例属性?
在本文中,我们将尝试了解如何在 JavaScript 中定义和创建实例和非实例属性。
在分析实例和非实例属性之前,让我们先看看以下在 JavaScript 中创建类的语法,因为实例和非实例属性都是在类本身上定义的。
句法:
class class_name {
constructor() {
// variables.....
// or...
// methods.....
}
// Other variables or methods.....
}
现在我们已经看到了可以用于在 JavaScript 中创建类的基本结构/语法,让我们使用这种语法来理解以及创建基于类的实例和非实例属性。
跟随我们使用上述语法创建的类的静态示例(注意在下面的示例中,我们不会访问类中声明的任何变量,它只是为了理解而显示的演示类)。
class Car {
constructor () {
this.car_name = "Ford";
}
}
实例属性:
- 实例属性是在任何类中定义的那些属性,并且需要借助类名本身创建的实例。
- 如果不创建类的实例,我们可能无法访问在类中定义的这些属性。
- 即使我们尝试在不创建类实例的情况下访问这些属性,我们也可能会得到“未定义”作为输出,说明该特定属性不是为用户尝试搜索的特定类定义的。
示例:以下示例将帮助我们以更好、更有效的方式理解上述事实——
Javascript
Javascript
输出:
ABCD
undefined
非实例属性:
- 非实例属性是在任何类中定义的那些属性,并且不需要类的任何实例来访问它们。
- 只需使用类名后跟属性名即可直接访问它们。
- 这里要注意的一件重要事情是,这些属性是使用“静态”关键字声明的,而在默认构造函数方法中不能进一步声明。
示例:以下示例将帮助我们以更好、更有效的方式理解上述事实——
Javascript
输出:
undefined
ABCD