let和const

2018-11-20 03:18:20来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

ES6新增了let取代var,let主要有以下特点。

1 只在代码块内有效,代码块外不能使用let声明的变量。let很适合声明循环体的变量。

它可以解决一些闭包的问题存在的问题比如:

var a = [];
for (var i = 0; i < 10; i++) {
  a[i] = function () {
    console.log(i);
  };
}
a[6](); // 10
var a = [];
for (let i = 0; i < 10; i++) {
  a[i] = function () {
    console.log(i);
  };
}
a[6](); // 6

 

2 不存在变量提升 。

3 暂时性死区

从进入某个块级作用域开始到用let声明一个变量这个区间内属于该变量的暂时性死区,也叫TDZ。

const与let类似有以下特点

只在代码块内有效,const声明的变量不能提升,存在TDN

const声明一个只读的常量。一旦声明,常量的值就不能改变。倒是可以为它添加属性,const一旦声明变量,就必须立即初始化。它本质上就是一个指针指向一块内存,你能改变它指向的内存中的数据,但是不能改变它的指向。

 

6种声明变量的方法  let  const  import  class   var   function   其中前四种是ES6新增的。

let const 声明的全局变量不属于window属性

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:web前端(15)—— JavaScript的数据类型,语法规范2

下一篇:第三章 基本概念