美文网首页
let 和 const 命令

let 和 const 命令

作者: 秋天de童话 | 来源:发表于2017-05-16 22:08 被阅读14次

    ES6学习笔记
    1、let命令
    ES6中新增了let,用于声明变量,与var类似,但let声明只是在其block(块)作用域生效。

    {
    let a = 10;
    var b = 1;
    }
    a  //ReferenceError: a is not defined
    b  //1
    

    2、const命令
    同样在块级作用域有效的另一个变量声明方式是 const,它可以声明一个常量。ES6 中,const 声明的常量类似于指针,它指向某个引用,也就是说这个「常量」并非一成不变的,如:

    {
      const ARR = [5,6];
      ARR.push(7);
      console.log(ARR); // [5,6,7]
      ARR = 10; // TypeError
    }
    

    有几个点需要注意:
    let 关键词声明的变量不具备变量提升(hoisting)特性
    let 暂时性死区
    let 不允许重复声明
    块级作用域:let 和 const 声明只在最靠近的一个块中(花括号内)有效
    当使用常量 const 声明时,请使用大写变量,如:CAPITAL_CASING
    const 在声明时必须被赋值

    3、跨模块常量

    //constants.js 模块
    export const A =1;
    export const B =2;
    export const C =3;
    
    //test1.js 模块
    import * as constants form './constants';
    console.log(constants.A);  //1
    console.log(constants.C);  //3
    
    //test2.js 模块
    import {A,B}  form './constants';
    console.log(A);  //1
    console.log(B);  //2
    

    4、全局对象的属性
    全局对象是最顶层的对象,浏览器指的是window对象,Nodejs 是 global对象。

    window.a = 1;   //a = 1
    a=2;
    window.a   // 2
    
    //全局变量b由let命令声明,所以不是全局对象属性,返回undefined
    let b = 10
    window.b //undefined
    

    相关文章

      网友评论

          本文标题:let 和 const 命令

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