问题:在调用outputInfo({type, name} = node)的过程中,为什么就给这两个变量赋值了?
在函数参数部分是这样执行的吗? type = node.type; name = node.name; 然后因为这个两个变量在前面已经声明过,所以也不会报错
但是,如果是下面这样写,为什么也不报错,并且跟书中的运行结果一样呢?下面的代码并没有提前声明这两个变量?
`let node = { type: 'Identifier', name: 'foo', };
function outputInfo(values) { console.log(values); console.log(values === node); }
outputInfo({ type, name } = point);
console.log(type); console.log(name);`