ES6 标准入门 笔记1

发布时间 2023-07-14 22:21:32作者: 唯一念

一、ECMAScript

1. ECMAScript 和 JavaScript的关系:前者是后者的规格,后者是前者的实现。

2. ES6 指的是 ES5.1 版本以后的 JavaScript D 下一代版本。

3. 初版 ES6 从制定到发布经历了15年(2000 - 2015)。(ES2015: 2015年6月发布)

4. ECMAScript 提案阶段:
  4.1 Strawman(展示阶段);
  4.2 Proposal(征求意见阶段);
  4.3 Draft(草案阶段);
  4.4 Candidate(候选阶段);
  4.5 Finished(定案阶段)。

5. ECMAScript 每个新版本正式发布时间:每年 6 月份。

 

二、var、let 、const、块级作用域

1. var 声明的变量是全局变量,在全局范围内都有效;(let、const 声明的变量不是全局变量,且不会影响到外部作用域和不受外部作用域的影响)

2. var 声明的变量在同一作用域可以再次 var 声明;(let、const 声明的变量不得再次在同一作用域声明)

3. function、var 声明的变量会存在变量提升;(let、const 不存在变量提升)

4. 在函数内部,var 可再次声明参数,但是不得使用 let 或者 const 再次声明参数;

5. const 声明的变量不可重新赋值;(变量指向内存地址的值不能改变)

6. const 声明的变量必须声明时赋值;

7. 作用域:
  7.1 ES5 只有全局作用域、函数作用域,导致很多场景不合理(1 内层变量可能会覆盖外层变量;2 用来计数的循环变量泄漏为全局变量)
  7.2 ES6引入了块级作用域,在 ES6浏览器 中,声明函数有以下几点:
    7.2.1 允许在块级作用域内声明函数;
    7.2.2 函数声明会提升到全局作用域或函数作用域头部;
    7.2.3 函数声明还会提升到所在块级作用域的头部。

  7.3 在ES6中,在块级作用域内声明函数,类似于let 声明变量,对外部作用域无影响

8. 变量声明有六种:var、let、const、function、class、import。

 

天行健,君子以自强不息;地势坤,君子以厚德载物。(^_^)