首先对不起我的英语不好
所以,这是我的代码:
let x = 5
const {x: y=7} = {x}
console.log(y) // output is 5
但为什么是 5?不是 7 吗?
最佳答案
{x}
是 {x: x}
的简写。由于 x
的值是 5
,这相当于 {x: 5}
。
这意味着你的代码相当于
const {x: y=7} = {x: 5}
这会将 y
设置为 {x: 5}
中 x
属性的值。如果没有属性,则使用默认值7
;但由于该属性确实存在,因此使用了它的值,因此将 y
设置为 5
。
比较
let a = 5;
const {x: y=7} = {a}
这会将 y
设置为 7
,因为对象中没有 x
属性。
关于javascript - 为什么变量 "y"的值为 5?不是7?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64288121/