ES6:let 与 const

在ES6中,let 用来定义变量,const 用来定义常量

事实上var可以看成是js语言设计上的错误,但是不能移除,因为需要向后兼容
于是提出了一个新的关键字let,可以将let看成更完美的var

块级作用域

  • js中使用var来声明一个变量的时候,变量的作用域主要与函数的定义有关
  • 针对其他块的定义来说是没有作用域的,比如for、if等,这往往会引发一些问题

比如:这个a在大括号外面还是可以用的

{
    var a = 1;
}

但是这个a在大括号外面是不起作用的

{
    let a = 1;
}

另外还有类似情况:

ES5之前因为if和for等都没有块级作用域的概念,所以在很多时候,我们都必须借助function的作用域来解决应用外部变量的问题
而ES6中加入了 let ,具有了if和for等的块级作用域

const修饰的标识符不会被再被赋值,可以用const保证数据的安全性,
在开发中,优先使用const
const如果指向对象的话,指的是对象不能修改,但是对象内部的属性值可以修改

猜你喜欢

转载自www.cnblogs.com/wbyixx/p/11933036.html