ES6

作者: hualayou | 来源:发表于2020-10-14 13:33 被阅读0次

Let和const命令

基本用法

ES6新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效,使用let关键字声明的变量具有块级作用域。

{

    let a = 10;

    var b = 1;

}

console.log(a); // ReferenceError: a is not defined.

console.log(b); // 1

不存在变量提升

var命令会发生“变量提升”现象,即变量可以在声明之前使用,值为undefined。这种现象多多少少是有些奇怪的,按照一般的逻辑,变量应该在声明语句之后才可以使用。

为了纠正这种现象,let命令改变了语法行为,它所声明的变量一定要在声明后使用,否则报错。

// var 的情况

console.log(foo); // 输出undefined

var foo = 2;

//let 的情况

console.log(bar); // 报错ReferenceError

let bar = 2;

暂时性死区

只要块级作用域内存在let命令,它所声明的变量就“绑定”(binding)这个区域,不再受外部的影响。

var tmp = 123;

if(true){

    tmp = 'abc'; // ReferenceError

    let tmp;

}

const

作用:声明常量,常量就是值(内存地址)不能变化的量

相关文章

网友评论

      本文标题:ES6

      本文链接:https://www.haomeiwen.com/subject/ditwpktx.html