1.不存在变量提升 在之前的js代码中,声明一个变量或者是函数,会存在变量提升的现象,也就是说变量可以在声明之前使用,值为undefined: es5: console.log(a); //undefined var a = 10; es6: console.log(a); //a is not defined let a = 10; console.log(a); 2.暂时性死区 如果区块中存在let和const命令,这个区块对这些命令声明的变量,从一开始就形成了封闭作用域.凡是在声明之前就使…
最近在重新看<<C++ Primer>>,第一遍的时候const和constexpr看得并不太懂,这次又有了些更新的理解,当然可能仍然有许多不对的地方... 首先,const限定符即“常量”,一旦使用了const,那么对象的值不能再改变,比如: const int i=1; 同时,const修饰的变量必须初始化,因为如果不初始化,那么就永远无法初始化了. 常量的初始化并不一定需要用常量,字面值或者是普通对象都是可以的,例如: int i=5; const int j=i; cons…