ES6之 let 和 const

ES6简介

ES6, 全称 ECMAScript 6.0 ,是 JavaScript 的下一个版本标准,2015.06 发版。

ES6 主要是为了解决 ES5 的先天不足,比如 JavaScript 里并没有类的概念,但是目前浏览器的 JavaScript 是 ES5 版本,大多数高版本的浏览器也支持 ES6,不过只实现了 ES6 的部分特性和功能。

ES6 let 与 const

ES6 新增加了两个重要的 JavaScript 关键字: let 和 const。

let 声明的变量只在 let 命令所在的代码块内有效。
const 声明一个只读的常量,一旦声明,常量的值就不能改变。

let 命令

  • 代码块内有效
{
    let a=0;
    var b=1;
}
console.log(a,b);
// a is not difined
  • 不能重复声明
var a=1;
var a=2;
let b=3;
let b=4;
console.log(a,b);
// b Identifier 'b' has already been declared
  • 不存在变量提升
  console.log(a);//a is not defined
    var a = 1;
    console.log(a);  //Cannot access 'a' before initialization
    let a = "apple";
//变量 b 用 var 声明存在变量提升,所以当脚本开始运行的时候,b 已经存在了,但是还没有赋值,所以会输出 undefined。
//变量 a 用 let 声明不存在变量提升,在声明变量 a 之前,a 不存在,所以会报错。
var 声明变量特点
(1)允许重复声明
(2)存在变量提升
(3)存在就近原则
(4)全局变量会作为全局对象window的属性
(5)只受函数作用域的限制

const命令 用来声明常量

  • 常量初始化完成,不允许二次赋值。
const a=11;
a=22;
console.log(a);//Assignment to constant variable.
  • 常量不允许只声明不赋值。
const a;
console.log(a);//Missing initializer in const declaration
var b;
console.log(b);//undefined
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容