在看到阮一峰的ES6教程解构赋值,默认值时,这个地方没太看懂。
原文链接
注意,ES6 内部使用严格相等运算符(===),判断一个位置是否有值。所以,如果一个数组成员不严格等于undefined,默认值是不会生效的。
function f() { console.log('aaa');
}let [x = f()] = [1];书上说上面这段代码等价于下面这段
let x;
if ([1][0] === undefined) {
x = f();
} else {
x = [1][0];
}请问一下这个[1][0]是哪里来的?不应该是下面这样的吗?
let x;if (1 === undefined) { x = f();
} else { x = 1;
}
饮歌长啸
白衣染霜花
随时随地看视频慕课网APP
相关分类