什么是ES6?
又叫es2015,es7是2016
ECMAScript es标准的作用: 定义js的发展方向的一套标准
ECMAScript ES
- es3
- es5
- 严格模式
- es6/es2015/ECMAScript 6.0
- 变量定义变化let const
- 块级作用域
- 解构赋值
- 字符串、函数、数组的扩展
- 新的面向对象编程语法
- 异步
- ......
ES6狭义上就是指ES2015,广义上是一个泛指,指5.1版本以后的JavaScript
的下一代标准,涵盖了ES2015,ES2016,ES2017
等;亦指下一代JavaScript语言。 本书中提到 ES6 的地方,一般是指 ES2015 标准
Bable
Bable:Babel是一个JavaScript编译器,它可以将ES6+语法编译为浏览器支持的ES5语法。
TypeScript
(也是一个趋势,很火热)
TypeScript是 JavaScript 的一个超集,支持 ECMAScript 6 标准。
TypeScript 是由微软开发的自由和开源的编程语言。
TypeScript 设计目标是开发大型应用,它可以编译成纯 JavaScript,编译出来的 JavaScript 可以运行在任何浏览器上。
语言特性
TypeScript 是一种给 JavaScript 添加特性的语言扩展。增加的功能包括:
- 类型批注和编译时类型检查
- 类型推断
- 类型擦除
- 接口
- 枚举
- Mixin
- 泛型编程
- 名字空间
- 元组
- Await
以下功能是从 ECMA 2015 反向移植而来:
- 类
- 模块
- lambda 函数的箭头语法
- 可选参数以及默认参数
JavaScript 与 TypeScript 的区别
TypeScript 是 JavaScript 的超集,扩展了 JavaScript 的语法,因此现有的 JavaScript 代码可与 TypeScript 一起工作无需任何修改,TypeScript 通过类型注解提供编译时的静态类型检查。
TypeScript 可处理已有的 JavaScript 代码,并只对其中的 TypeScript 代码进行编译。
ES5 ⊂ ES6 ⊂ TypeScript