通过析构函数拆包嵌套属性并将其作为函数的参数,在语法上遇到困难



我在解析嵌套值/属性并将其作为函数中的参数/参数时遇到语法问题。

在第二个代码片段中,我希望hiding返回1

基于此的成功:

o = {
color: "red", 
nested: {num: 5}
}
function f({color, nested: {num: number}}) { 
console.log(color);
console.log(number);
}
f(o)

我想知道为什么1没有分配给变量hiding

o = {
color: "red", 
nested: {num: 5},
doubleNested: {
property: {
hidden: 1
}
}
}

function f({color, nested: {num: number}}, doubleNested: property: {hidden: hiding}}) { 
console.log(color);
console.log(number);
console.log(hiding);
}
f(o);

这应该是正确的变体,它只是一个带有括号+的类型,缺少第二个参数。

const o = {
color: "red", 
nested: {num: 5},
doubleNested: {
property: {
hidden: 1
}
}
}
function f({ color, nested: { num: number } }, { doubleNested: { property: { hidden: hiding } } }) {
console.log(color);
console.log(number);
console.log(hiding);
}
f(o, o)

最新更新