跳到主要内容

暂存性死区

暂存性死区 : Temporal Dead Zone,TDZ

  • 暂存性死区还可以避免命名冲突和变量提升等问题

暂存性死区的理解​

ES6 明确规定,如果区块中存在let和const命令,这个区块对这些命令声明的变量,从一开始就形成了封闭作用域。凡是在声明之前就使用这些变量,就会报错。 总之,在代码块内,使用let命令声明变量之前,该变量都是不可用的。这在语法上,称为“暂时性死区”(temporal dead zone,简称 TDZ)

  • ES6 规定暂时性死区和let、const语句不出现变量提升,主要是为了减少运行时错误,防止在变量声明前就使用这个变量

暂存性死区的场景​

vue源码会用到 暂存性死区,为什么这么设计​

  • Vue.js 源码中使用 "暂存性死区",是为了实现模块化的变量声明和访问控制

  • 它采用了模块化的开发方式。在模块化开发中,每个组件可以拥有自己的作用域,并且可以声明自己的变量。为了确保变量的作用域与访问控制,Vue.js 使用暂存性死区

Vue.js 使用暂存性死区来确保变量的作用域与访问控制,同时避免命名冲突和变量提升等问题