我现在需要知道在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。在第一种情况下,每次都返回相同的实例。在第二种情况下,每次都会返回一个新实例。