摘要:在本教程中,您将了解类的 JavaScript 静态属性,以及如何在静态方法、类构造函数和其他实例方法中访问静态属性。
JavaScript 静态属性简介
类似于 静态方法,静态属性由 类 的所有实例共享。要定义静态属性,您需要使用 static
关键字,后跟属性名称,如下所示
class Item {
static count = 0;
}
Code language: JavaScript (javascript)
要访问静态属性,请使用类名后跟 .
运算符和静态属性名称。例如
console.log(Item.count); // 0
Code language: JavaScript (javascript)
要在静态方法中访问静态属性,请使用类名后跟 .
运算符和静态属性名称。例如
class Item {
static count = 0;
static getCount() {
return Item.count;
}
}
console.log(Item.getCount()); // 0
Code language: JavaScript (javascript)
要在类构造函数或实例方法中访问静态属性,请使用以下语法
className.staticPropertyName;
Code language: CSS (css)
或者
this.constructor.staticPropertyName;
Code language: CSS (css)
以下示例在类构造函数中增加了 count
静态属性
class Item {
constructor(name, quantity) {
this.name = name;
this.quantity = quantity;
this.constructor.count++;
}
static count = 0;
static getCount() {
return Item.count;
}
}
Code language: JavaScript (javascript)
当您创建一个新的 Item
类实例时,以下语句将 count
静态属性增加 1
this.constructor.count++;
Code language: CSS (css)
例如
// Item class ...
let pen = new Item("Pen", 5);
let notebook = new Item("notebook", 10);
console.log(Item.getCount()); // 2
Code language: JavaScript (javascript)
此示例创建了两个 Item
类实例,并调用了类构造函数。由于类构造函数每次被调用时都会将 count
属性增加 1,因此 count
的值为 2。
总结一下。
class Item {
constructor(name, quantity) {
this.name = name;
this.quantity = quantity;
this.constructor.count++;
}
static count = 0;
static getCount() {
return Item.count;
}
}
let pen = new Item('Pen', 5);
let notebook = new Item('notebook', 10);
console.log(Item.getCount()); // 2
Code language: JavaScript (javascript)
摘要
- 类的静态属性由该类所有实例共享。
- 使用
static
关键字定义静态属性。 - 使用
className.staticPropertyName
在静态方法中访问静态属性。 - 使用
this.constructor.staticPropertyName
或className.staticPropertyName
在构造函数中访问静态属性。
本教程是否有帮助?