在这种情况下:
(function() {
const a = b = 10;
})();
console.log('a:', a); // ReferenceError: a is not defined
console.log('b:', b); // 10
b
在全局范围内被定义为var
。是否可以在同一个范围内将b
设为const
呢?就像a
一样?
答案 0 :(得分:1)
您可以将b
设置为IIFE函数的参数。这样,b
将无法在函数范围之外访问。
(function(b) {
const a = b = 10;
console.log(b)
})();
console.log('b:', b);
答案 1 :(得分:1)
我不这么认为。之所以有此“技巧”,是因为b = 10
返回了10
。但是,const b = 10
返回undefined
。
为什么不只使用:
const a = 10;
const b = a;
?
这并不慢,而且可读性更好,即使您可以嵌套作业,我也没有真正这样做的理由