We can't find the internet
Attempting to reconnect
es6 中新增加了 const
和 let
const
和 let
都是新增加的变量声名方式
有别于var
声名,他们没有变量提升(Hoisting)机制
if (!('someone' in window)) { var someone = 'Joe'; } else { someone = 'reload'; } console.log(someone);
总是会打印出 'reload'
在预编译阶段会变成
var someone; if (!('someone' in window)) { someone = 'Joe'; } else { someone = 'reload'; } console.log(someone);
禁止重声名
let
会禁止重新声名变量
const
const
声名时必须赋值
临时性死区
使用cosnt
或者let
声名变量,如果在之前调用他们,会抛出一个异常ReferenceError
这时使用 typeof
操作时也是不安全的,这里成为临时性死区 (Temporal Dead Zone)