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

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

在本文中,我们将尝试理解如何在JavaScript中定义和创建实例属性和非实例属性。

在分析实例属性和非实例属性之前,让我们先看一下在JavaScript中创建类的语法,因为实例属性和非实例属性都是在类本身上定义的。

语法:

class class_name {
    constructor() {
        // variables.....
        // or...
        // methods.....
    }
    // Other variables or methods.....
}

现在,我们已经看到了在JavaScript中创建类的基本结构/语法,让我们使用这个语法来理解和创建基于类的实例和非实例属性。

根据上述语法创建的一个静态类示例如下(注意,在下面的示例中,我们不会访问类内声明的任何变量,它只是一个用于理解的演示类)。

class Car {
    constructor () {
        this.car_name = "Ford";
    }
}

实例属性:

  • 实例属性是指在任何类中定义的属性,需要使用类名本身创建实例才能访问。
  • 如果没有创建类的实例,我们可能无法访问这些在类中定义的属性。
  • 即使试图在没有创建类的实例的情况下访问这些属性,我们可能会得到一个”undefined”的输出,表示用户尝试搜索的特定类不定义这个属性。

示例: 下面的示例将帮助我们更好、更高效地理解上述事实-

Javascript

<script> 
    class Person { 
        constructor() { 
            this.Name = "ABCD"; 
        } 
    } 
    let person = new Person(); 
    console.log(person.Name); // Output: ABCD 
    console.log(Person.Name); // Output: undefined 
</script>

输出:

ABCD
undefined

非实例属性:

  • 非实例属性是在任何类中定义且不需要任何类的实例来访问的属性。
  • 只需使用类名和属性名就可以直接访问它们。
  • 这儿需要注意的一点是,这些属性是通过使用“static”关键字来声明的,而不能在默认构造函数方法中声明。

示例: 以下示例将帮助我们更好,更有效地理解上述事实-

Javascript

<script> 
    class Person { 
        static Name = "ABCD"; 
    } 
  
    let person = new Person(); 
    console.log(person.Name); // Output: undefined 
    console.log(Person.Name); // Output: ABCD 
</script>    

输出:

undefined
ABCD

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程