Fua*_*mov 0 javascript ecmascript-6 babeljs
我试图将具有预定义属性的对象传递给我的类构造函数.
像这样
class Test {
constructor({
a = "test a",
b = "test b"
}) {
}
}
Run Code Online (Sandbox Code Playgroud)
PS我知道如何定义对象的属性.我想知道如何预定义属性.
您似乎想要将一个对象传递给构造函数,并将其属性分配给该类的单个键.你可以这样使用解构:
class MyClass {
constructor({a,b} = {a:1,b:2}) {
this.a = a;
this.b = b;
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,对于部分填充的对象,这是不安全的:
var instance = new MyClass({a:3});
// instance.b == undefined
Run Code Online (Sandbox Code Playgroud)
处理这个可以这样做:
class MyClass {
constructor({a=1,b=2} = {}) {
this.a = a;
this.b = b;
}
}
Run Code Online (Sandbox Code Playgroud)
结果如下:
var instance = new MyClass({a:3});
// instance.a == 3
// instance.b == 2
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2335 次 |
最近记录: |