初探ES6

2018-06-24 01:52:22来源:未知 阅读 ()

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

1、let声明的变量,只在let命令所在的代码块中有效(类似闭包,是块级作用域);

2、for循环在设置循环变量的那部分是一个父作用域,而循环体内部是一个单独的子作用域:

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

      let i = 'abc';

      console.log(i);

     } // abc // abc // abc 输出3次abc,表明两个i不在同一个作用域中;

3、暂时性死区问题;

4、let 不允许重复声明,不允许在函数内部重新声明参数:

  function fun(arg){

    let arg; // 报错

  }

5、const声明只读常亮(必须初始化),作用域与let命令相同;

6、const声明的变量,存储的不是变量的值,而是变量的地址:

  const foo = {};

  foo.prop="name"; //添加一个属性且复制  可以成功

  foo = {}; //相当于重新赋值,报错 TypeError: "foo" is read-only

  数组同理,如果真的想将对象冻结,应该使用Object.freeze方法 

  const foo = Object.freeze({});

 

 

  

 

标签:

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

上一篇:原生js实现Ajax请求,包含get和post

下一篇:webpack+vuecli打包生成资源相对引用路径与背景图片的正确引用