我在玩新的 ECMASCRIPT-6 const关键字。我不理解关键字的一种特定行为。
可以说我有两个功能
第一个案例
(function(){
console.log(_t);
const _t=10;
})();
和 第二种情况
function t(){
console.log(_y);
const _y=11;
}
t();
对于第一种情况,输出是(不明白为什么)
ReferenceError:在初始化之前无法访问词法声明`_t'
对于第二种情况,输出是(很好)
不明确的
第二种情况的输出与预期的一样,但我不知道为什么第一种情况的结果会引发错误。从错误中可以推断出变量没有被提升。但为什么?我在这里发现const
使用块范围。它与这个范围界定有什么关系吗?
我正在使用 Firefox Developer Version 控制台运行测试。