Javascript 必须将空对象作为参数ES6传递
如果我用默认值创建一个类,如下所示-Javascript 必须将空对象作为参数ES6传递,javascript,ecmascript-6,Javascript,Ecmascript 6,如果我用默认值创建一个类,如下所示- class SomeClass { constructor({ a = 0.00, b = 0.00, c = 14.00, d = 'xyz' }){ this.a = a; this.b = b; this.c = c; this.d = d; } } 我必须在创建实例时传递一个空对象 var sc
class SomeClass {
constructor({
a = 0.00,
b = 0.00,
c = 14.00,
d = 'xyz'
}){
this.a = a;
this.b = b;
this.c = c;
this.d = d;
}
}
我必须在创建实例时传递一个空对象
var sc = new SomeClass({});
如果我想在一个对象参数中设置默认值,或者我可以在构造函数中更改一些内容,这样我就可以执行这个
var sc=new SomeClass(),这是正常的吗代码>创建我的对象?此语法适用于我的Chrome:
class Test {
constructor({a = 5} = {a: 6}) {
console.log(a);
}
}
new Test(); // 6
class-SomeClass{
构造函数(选项参数){
如果(选项参数===未定义){
选项arg={};
}
optionsArg?optionsArg.a中的this.a='a':0.00;
this.b='b'在optionsArg?optionsArg.b中:0.00;
optionsArg?optionsArg.c中的this.c='c':14.00;
optionsArg中的this.d='d'?optionsArg.d:'xyz';
}
}
var sc=新的SomeClass({});
Object.keys(sc.forEach)函数(prop){
控制台日志(prop,sc[prop]);
});代码>设置默认值:
class SomeClass {
constructor({
a = 0.00,
b = 0.00,
c = 14.00,
d = 'xyz'
} = {}) { // <=
this.a = a;
this.b = b;
this.c = c;
this.d = d;
}
}
class-SomeClass{
建造师({
a=0.00,
b=0.00,
c=14.00,
d='xyz'
}={}{//我该如何处理多个参数?@charsi我猜是这样的构造函数({a=5,b=6}={a:6,b:7},{c=8}={c:9})
@charsi这很奇怪,codepen上的JavaScript代码似乎不是在浏览器环境中执行的,它只是通过使用babel工作。检查这个提琴:是的,在提琴和js bin中也工作。我猜是codepen的问题。谢谢你的回答。这很有效!谢谢。我想你是想在代码段中保留空对象。