ECMAScript 6 入门

ECMAScript 6简介

1 ECMAScript 和 JavaScript 的关系
2 ES6 与 ECMAScript 2015 的关系
3 语法提案的批准流程
4 ECMAScript 的历史
5 部署进度
6 Babel 转码器
7 Traceur 转码器

1、ECMAScript 和 JavaScript 的关系 :前者是后者的规格,后者是前者的一种实现(另外的 ECMAScript 方言还有 Jscript 和 ActionScript)。日常场合,这两个词是可以互换的。

2、 ES6 与 ECMAScript 2015 的关系:ES6 既是一个历史名词,也是一个泛指,含义是5.1版以后的 JavaScript 的下一代标准,涵盖了ES2015、ES2016、ES2017等等,而ES2015 则是正式名称,特指该年发布的正式版本的语言标准。本书中提到 ES6 的地方,一般是指 ES2015 标准,但有时也是泛指“下一代 JavaScript 语言”。

let 和 const 命令

1 let 命令
2 块级作用域
3 const 命令
4 顶层对象的属性
5 global 对象
4 顶层对象的属性:顶层对象,在浏览器环境指的是window对象,在 Node 指的是global对象。ES5 之中,顶层对象的属性与全局变量是等价的。
ES6 一方面规定,为了保持兼容性,var命令和function命令声明的全局变量,依旧是顶层对象的属性;另一方面规定,let命令、const命令、class命令声明的全局变量,不属于顶层对象的属性。也就是说,从 ES6 开始,全局变量将逐步与顶层对象的属性脱钩。
var a = 1;
// 如果在 Node 的 REPL 环境,可以写成 global.a
// 或者采用通用方法,写成 this.a
window.a // 1

let b = 1;
window.b // undefined

上面代码中,全局变量avar命令声明,所以它是顶层对象的属性;全局变量blet命令声明,所以它不是顶层对象的属性,返回undefined

变量的解构赋值

1 数组的解构赋值
2 对象的解构赋值
3 字符串的解构赋值
4 数值和布尔值的解构赋值
5 函数参数的解构赋值
6 圆括号问题
7 用途
6 圆括号问题:可以使用圆括号的情况:赋值语句的非模式部分,可以使用圆括号。
7 用途:
(1)交换变量的值
(2)从函数返回多个值
(3)函数参数的定义
(4)提取JSON数据
(5)函数参数的默认值
(6)遍历Map结构
(7)输入模块的指定方法

字符串的扩展

 1 字符的 Unicode 表示法
 2 codePointAt()
 3 String.fromCodePoint()
 4 字符串的遍历器接口
 5 at()
 6 normalize()
 7 includes(), startsWith(), endsWith()
 8 repeat()
 9 padStart(),padEnd()
10 模板字符串
11 实例:模板编译
12 标签模板
13 String.raw()
14 模板字符串的限制
 
 

 

1

 

原文地址:https://www.cnblogs.com/theWayToAce/p/7729874.html