美文网首页
ECMAScript6--2.基本语法let 和 const

ECMAScript6--2.基本语法let 和 const

作者: 飞菲fly | 来源:发表于2017-10-17 16:26 被阅读29次

    1.let 和 const

    2.作用域的概念
    * 全局作用域
    * 函数作用域
    * 块作用域
    --let和const是在块作用域使用的方法是相同的;
    3.如何使用let和const

    let

    eg:1.

     function test(){
            let a =1;
            console.log(a);
        }
        test();//1
    

    2.块级作用域:
    一段代码是用大括号包起来的,大括号里面就是块级作用域;

    1.let声明的变量只在自己块级作用域内有效;
    2.如果你的代码是使用ES6的,ES6是强制开启严格模式的;

    严格模式:

    在ES5中如果强调使用严格模式,一定是在你的代码中能找到这句话;
    “use strict”来启动这个文件使用严格模式;ES6中不需要这句话也是
    强制开启严格模式的;
    严格模式的一个点是:变量未声明不能引用,否则就会报引用错误;

    function test(){
          for(let i=1;i<3;i++){          
          //let声明的i变量在块级作用域外是不存在的(可以理解生命周期结束了)
                console.log(i)://输出1、2
            }
            console.log(i);//报错引用错误(i脱离了块级作用域导致的错误)
        }
        test();
    

    3.使用let定义变量不能重复定义这个变量;

    function test(){
            //a变量被重复定义会报错(模板没有编译成功)
            let a =1;
            let a =2;
        }
        test();
    

    const

    声明一个常量(不能修改的叫常量)

    1.使用const声明的常量是不能修改的;
    --存储的数值不允许修改;
    --对象是引用类型,声明的k是指向这个对象的存储的指针,这个指针是不变的,但是这个对象本身是可以变的;
    2.const声明的时候必须赋值;
    如果只声明const PI; PI=8;会报错说这个是不完整的,编译是不通过的;

    eg:1.

        function last(){
            const PI = 3.1415926;
            //PI = 8;  //会报错“PI”is read-only只读属性不能改
            const k ={
                a:1
            };
            k.b =3;
            console.log(PI,k);
           }
         last();//3.1415926 object{a:1,b:3}

    相关文章

      网友评论

          本文标题:ECMAScript6--2.基本语法let 和 const

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