优先使用 const,其次是 let,对 var 说再见
var存在变量提升,你可以在函数范围的末尾处声明一个 var 变量,但是它仍然可以在声明之前访问:你将得到一个 undefined 值。
function test() {
// code...
myVariable; // => undefined
// code...
var myVariable = 'Initial value';
}
test();
而使用 let 或者 const 进行变量声明则不会存在作用域提升的问题,因为变量在声明之前处于一个暂时性死区,在声明之前访问变量会抛出一个 ReferenceError
网友评论