使用let定义的变量在声明之前是不会初始化的,不像使用var定义的变量那样初始值为undefined;在let变量声明之前访问它会导致ReferenceError,在变量声明之前的区域便叫:暂存死区; // prints out 'undefined'console.log(typeof undeclaredVariable);// results in a 'ReferenceError'console.log(typeof i);let i = 10;