let var const 区别
来源:互联网 发布:mac自动同步iphone照片 编辑:程序博客网 时间:2024/05/01 16:13
- 块级作用域绑定的let const 为JavaScript引入了词法作用域,它们声明的变量不会提升,而且只可以在声明这些变量的代码中使用。
function getValue(condition) {if (condition) {let value = "blue";return value;} else {//变量value此处不存在return null;}//变量value此处不存在}
- 这一新特性还存在一个副作用,即不能在声明变量前访问它们,就算用typeof这样安全的操作符也不行。在声明前访问块级作用域会导致报错,因为绑定在临时死区(TDZ)中。
if (condition) {console.log(value); //引发错误let value = "blue";return value;}
- 循环中的使用。在for-in for-of循环中,let和const都会每次迭代时创建新绑定,从而使循环体内创建的函数可以访问到相应迭代的值,而非最后一次迭代后的值(像使用var那样)。let在for循环中同样如此,但在for循环中使用const声明则可能引发错误。
- 当前使用块级绑定的最佳实践是:默认使用const,只在确实需要改变变量的值时使用let。这样就可以在某种程度上实现代码的不可变,从而 一些错误的产生。
阅读全文
2 0
- let var const 区别
- Var、const、let区别
- var、let、const 区别?
- let const var 区别
- var、let、const 区别?
- var与let,const区别
- let、var、const的区别
- let const var 的区别
- js中const,var,let区别
- ES6 let、var、const联系与区别
- js中const,var,let区别
- js中let 、 var 、 const的区别
- js中const,var,let区别
- ES6中var,let,const区别
- const、let、var区别+js严格模式
- js中var, const, let的区别
- JavaScript中const,var,let区别
- js中const,var,let区别
- kafka入门
- linux中文件数目统计
- 基础母函数1003
- C#使用BinaryReader类读取二进制文件
- javax.xml.bind.JAXBException: JAXBContextImpl nor any of its super class is known to this context
- let var const 区别
- C/C++编程异常处理中try和throw以及catch语句的用法
- copy constructor
- 共享内存与消息传递 Shared memory versus message passing
- 2017.07.16 训练3
- Html-浅谈如何正确给table加边框
- 《reinforcement learning:an introduction》第四章《Dynamic Programming》总结
- 华为oj 字符串加密
- windows上配置pyqgis