fly*_*123 12 javascript ecmascript-6
我正在查看ES6类定义,并且不理解构造函数的参数.这是班级:
export class Modal {
constructor($modal, {size = null,} = {}) {
// stuff
}
}
Run Code Online (Sandbox Code Playgroud)
我很困惑{size = null,} = {}.这是一个单一的论点吗?这是什么意思?
Jak*_*żek 12
它是一个具有给定默认值的对象解构.
如果你传递一个obj就好
{ size: true }
Run Code Online (Sandbox Code Playgroud)
你可以像普通变量一样访问构造函数中的"大小"
export class Modal {
constructor($modal, {size = null } = {}) {
console.log(size); // prints the size value from the given object
}
}
Run Code Online (Sandbox Code Playgroud)
如果您没有传递任何内容或传递没有"大小"的对象,则大小将为null.你可以做更多这样的任务.只需用逗号分隔它们即可.
例:
constructor($modal, { size = null, foo, bar = "test" } = {})
Run Code Online (Sandbox Code Playgroud)
在这种情况下,如果你传递一个没有属性"foo"的对象,它将是未定义的,其余的就像我上面提到的那样.
还值得一提的是,你必须= {}在constructor声明中的解构赋值结束时添加.这是在你没有通过任何东西的情况下.否则你必须传递一些对象(可能是空的).
| 归档时间: |
|
| 查看次数: |
4334 次 |
| 最近记录: |