es6

一:常用语法:

    1:声明变量let和const

      let声明变量不存在预解析

          console.log(flag)

          let flag = 456;

      let声明的变量不允许重复(在同一个作用域内)

          let faag = 123;

          let faag = 456;

          console.log(glag)

      ES6引入了块级作用域

      块内部的变量,在外部是不可以访问的

          if(true){

            left flag = 123;

            console.log(glag);可以访问

          }

          console.log(glag);无法访问到if块内


          {

            let flag = 111;

            console.log(flag);//可以访问

          }

            console.log(flag);//无法访问

          for (let i = 0; i < 3; i++) {

          for循环括号中声明的变量只能在循环体中使用

            console.log(i);

          }


          在块级作用域内部,变量只能先声明再使用

          在块级作用域内部,变量也不存在预解析

              if(true){

                console.log(flag);//无法解析

                let flag = 123;

              }

      -------------------------------------------------------------

      const用来声明常量

      const声明的常量不允许重新赋值

      const n =1;

      n = 2; //错误


      const声明的常量必须初始化

====================================================================     

二:变量解构赋值

  var赋值

      var a = 1;

      var b = 2;

      var c = 3;

      var a=1,b=2,c=3;

  ---------------------------------------------------------------------

    ES6赋值

      数组的解构赋值,赋值根据顺序进行

          let [a,b,c] = [1,2,3];

          console.log(a,b,c);


          let [a=111,b,c] = [1,2,3];//a=111是默认值


          对象的解构赋值

          let {foo,bar} = {foo : 'hello',bar : 'hi'}; //{}里面数据先后顺序没有影响

          console.log(foo,bar);

          对象属性别名(如果有了别名,原来名字就无效了)

          let {foo:abc,bar} = {bar : 'hi',foo : 'nihao'}

          console.log(abc,bar)

          abc是foo的别名


      字符串的解构赋值

        let [a,b,c,d,e] = "hello";

        console.log(a,b,c,d,e)

        把单词拆开成字符。如果前面变量个数和后面字符不对用,会把后面字符省略调。

你可能感兴趣的:(es6)