Ask*_*ker 3 javascript function object ecmascript-6
我想将一个对象作为参数传递给函数。如果该对象的属性'prop'未定义,则应使用默认值对其进行初始化。
如何使用现代JS?
我期望这样的事情:
const fun = function(options = { prop: 'default'}) { console.log(options.prop)}
fun({a: 'x', prop: 'hello'}) ... // log: 'hello'
fun({a: 'x'}) ... // log: 'default'
Run Code Online (Sandbox Code Playgroud)
如果要在参数列表中进行重构,则将无法再访问整个原始对象(options此处为),而只能使用重构后的变量。因此,请省略该options =部分,然后将放在=之后prop,而不是:。例如:
const fun = function({ prop = 'default', a }) {
console.log('prop:', prop, 'a:', a);
};
fun({
a: 'x',
prop: 'hello'
}) // log: 'hello'
fun({
a: 'x'
}) // log: 'default'Run Code Online (Sandbox Code Playgroud)
如果也可能不使用任何参数调用该函数,则可以默认分配一个空对象:
const fun = function({ prop = 'default', a } = {}) {
console.log('prop:', prop, 'a:', a);
};
fun({
a: 'x',
prop: 'hello'
}) // log: 'hello'
fun({
a: 'x'
}) // log: 'default'
fun(); // log: 'default'Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
76 次 |
| 最近记录: |