暂存性死区
暂存性死区 : Temporal Dead Zone,TDZ
- 暂存性死区还可以避免命名冲突和变量提升等问题
暂存性死区的理解
ES6 明确规定,如果区块中存在let和const命令,这个区块对这些命令声明的变量,从一开始就形成了封闭作用域。凡是在声明之前就使用这些变量,就会报错。 总之,在代码块内,使用let命令声明变量之前,该变量都是不可用的。这在语法上,称为“暂时性死区”(temporal dead zone,简称 TDZ)
- ES6 规定暂时性死区和let、const语句不出现变量提升,主要是为了减少运行时错误,防止在变量声明前就使用这个变量
暂存性死区的场景
vue源码会用到 暂存性死区,为什么这么设计
-
Vue.js 源码中使用 "暂存性死区",是为了实现模块化的变量声明和访问控制
-
它采用了模块化的开发方式。在模块化开发中,每个组件可以拥有自己的作用域,并且可以声明自己的变量。为了确保变量的作用域与访问控制,Vue.js 使用暂存性死区
Vue.js 使用暂存性死区来确保变量的作用域与访问控制,同时避免命名冲突和变量提升等问题