易错题
程序员文章站
2022-07-02 18:54:36
...
- const 可以先声明后赋值么?
const a;
答:不可以,会报错Uncaught SyntaxError: Missing initializer in const declaration
- let 可以先使用后声明么?
console.log(a)
let a = 12;
答:不可以,Uncaught ReferenceError: Cannot access 'a' before initialization
- 暂时性死区:
var tmp = 123;
if (true) {
tmp = 'abc'; // Uncaught ReferenceError: Cannot access 'tmp' before initialization
let tmp;
}
答:只要块级作用域内存在let命令,它所声明的变量就“绑定”(binding)这个区域,不再受外部的影响。