let和const

来源:互联网 发布:蒋方舟扒皮知乎 编辑:程序博客网 时间:2024/06/05 14:51

let和const

作用域的概念:
ES6之前有2个作用域,一个全局作用域,一个函数作用域.
ES6中新增了一个块作用域

1.只要被{}包起来的,就是一个块作用域
function test() {    for (let i=1;i<3;i++){        console.log(i);    }    console.log(i);}

被{}包起来的相当于一个块级作用域,所以在块作用域里面声明的变量在外面就不存在了,可以理解为生命周期结束了.
代码中如果使用ES6. ES6是强制开始了严格模式的。严格模式中,变量未声明不能使用,所以会报错。
ES5中使用严格模式:'use strict'

2.let 不可以重复声明同一个变量否则会报错;
function test() {    let a=1;    let a=1;}

3.const用于声明常量并且声明时候必须赋值;
function test() {    const PI=3.1415926;    PI=8;    console.log(PI);}

4.const声明时候对象是可以修改的。因为对象是引用类型的;
function test() {    const k={        a:1    }    k.b=3;    console.log(k);}


原创粉丝点击