Ces*_*uez 18 javascript ecmascript-6
我现在需要在Javascript中看到这样的表达式的含义
static get is() { return "custom-element"; }
Run Code Online (Sandbox Code Playgroud)
我想这static可能有类似于Java或C++的行为,但我需要有关这些语法的更多信息.
Sur*_*tta 21
你是对的.它们非常接近任何其他面向对象的编程语言,如C++和Java
一切都记录在案.这是您正在查看的静态方法,get是getter您要获取的属性或对象的get.
如果你看看探索静态
静态方法.静态属性(或类属性)是Foo本身的属性.如果使用static为方法定义添加前缀,则创建一个类方法:
> typeof Foo.staticMethod
'function'
> Foo.staticMethod()
'classy'
Run Code Online (Sandbox Code Playgroud)
和 静态属性:
我不能想到一个很好的例子,而不是现在在脑海中给出的一个很好的例子.我在这里粘贴必不可少的部分.
class Point {
constructor(x, y) {
this.x = x;
this.y = y;
}
}
Point.ZERO = new Point(0, 0);
Run Code Online (Sandbox Code Playgroud)
您可以使用Object.defineProperty()来创建只读属性,但我喜欢赋值的简单性.
其次,您可以创建静态getter:
class Point {
constructor(x, y) {
this.x = x;
this.y = y;
}
static get ZERO() {
return new Point(0, 0);
}
}
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,您都可以获得可以阅读的属性Point.ZERO.在第一种情况下,每次都返回相同的实例.在第二种情况下,每次都返回一个新实例.
| 归档时间: |
|
| 查看次数: |
14197 次 |
| 最近记录: |