我在解析嵌套值/属性并将其作为函数中的参数/参数时遇到语法问题。
在第二个代码片段中,我希望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)