《ES6标准入门》

291 阅读2分钟

疫情期间在家好无聊,无聊到只能看书缓解下焦虑的情绪,所以拿出了年前买的阮一峰的ES6标准入门实体书,选择实体书的原因呢,一方面是对阮老师的支持,另一方面是实体书更方便查看。

第一章
第一章没啥好说的,主要是对ES和JS的发展历史做了一些描述,以及由于ES版本的跟进,会将高级ES版本自动转码为ES5版本来便于浏览器和其他的环境进行执行,这本书里面主要介绍了Babel和Traceur二种工具。

第二章
2.1 let命令
比较重要的是var和let之前的区别

  1.var声明的变量在全局范围都有效,而let声明的变量仅仅在块级作用域内有效。此外在for循环中有个特别之处,就是在设
  置循环变量的那部分是一个父级作用域,循环体内部是一个单独的子作用域。且函数内部的变量i与循环变量i不在同一
  作用域,而是有各自单独的作用域。  
  2.不存在变量提升
  var会存在变量提升,变量可以在声明之前使用,值为undefined,而使用let之后,如果在声明之前用到这个变量,那么会抛出错误。
  3.暂时性死区(这个我也是第一次看到,之前被蚂蚁问过一次,感觉还是挺重要的吧~)
    它的含义是只要块级作用域中存在let命令,所声明的变量就绑定这个区域,不在受外部的影响。
    exp:
    ```
    var a = 123;
    if(true){
        a = '123333'; // ReferenceError
        let a;
    }
    ```
  4.不允许重复声明