Javascript (ES6) 中"static get"的含义是什么?



我现在需要知道在Javascript中这样的表达式的含义是什么

static get is() { return "custom-element"; }

我想static的行为可能类似于 Java 或 C++但我需要有关这些语法的更多信息。

你是对的。它们非常接近任何其他面向对象的编程语言,如C++和Java

。一切都被记录在案。这是您正在查看的静态方法,get 是您要获取的属性或对象的getter

如果你看一下 探索静态

静态方法。静态属性(或类属性)是Foo本身的属性。如果在方法定义前面加上 static,则会创建一个类方法:

> typeof Foo.staticMethod
'function'
> Foo.staticMethod()
'classy'

静态属性:

我想不出一个很好的例子,而不是在我头顶上的文档中给出。在这里,我粘贴了重要的部分。

class Point {
constructor(x, y) {
this.x = x;
this.y = y;
}
}
Point.ZERO = new Point(0, 0);

您可以使用 Object.defineProperty() 创建一个只读属性,但我喜欢赋值的简单性。

其次,您可以创建一个静态 getter:

class Point {
constructor(x, y) {
this.x = x;
this.y = y;
}
static get ZERO() {
return new Point(0, 0);
}
}

在这两种情况下,您都会获得一个可以读取的属性 Point.ZERO。在第一种情况下,每次都返回相同的实例。在第二种情况下,每次都会返回一个新实例。

相关内容

最新更新