📜  如何定义实例和非实例属性?

📅  最后修改于: 2022-05-13 01:56:37.940000             🧑  作者: Mango

如何定义实例和非实例属性?

在本文中,我们将尝试了解如何在 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