7. Promise
不应用ES6
嵌套两个setTimeout回调函数:
应用ES6
- var wait1000 = new Promise(function(resolve, reject)
- {
- setTimeout(resolve, 1000);
- });
- wait1000
- .then(function()
- {
- console.log("Hello"); // 1秒后输出"Hello"
- return wait1000;
- })
- .then(function()
- {
- console.log("Fundebug"); // 2秒后输出"Fundebug"
- });
8. Let与Const
应用Var
var定义的变量未函数级感化域:
- {
- var a = 10;
- }
- console.log(a); // 输出10
应用let与const
let定义的变量为块级感化域,是以会报错:(如不雅你欲望及时`控JavaScript应用的缺点,迎接免费应用Fundebug)
- {
- let a = 10;
- }
- console.log(a); // 报错“ReferenceError: a is not defined”
const与let一样,也是块级感化域。
9. 类
【编辑推荐】
- 暑期干货!2017年8月前端开辟者超实用干货大年夜合集
- 浅谈JavaScript中的接话柄现
- 实现前端资本增量式更新的一种思路
- 浅谈JavaScript中的异步处理
- 怎么轻松进修JavaScript
不应用ES6
2. 模板字符串
应用构造函数创建对象:
- function Point(x, y)
- {
- this.x = x;
- this.y = y;
- this.add = function()
- {
- return this.x + this.y;
- };
- }
- var p = new Point(1, 2);
- console.log(p.add()); // 输出3
应用ES6
应用Class定义类,加倍规范,且你可以或许持续:
10. 模块化
JavaScript一向没有官方的模块化解决筹划,开辟者在实践中重要采取CommonJS和AMD规范。而ES6制订了模块(Module)功能。
不应用ES6
Node.js采取CommenJS规范实现了模块化,而前端也可以采取,只是在安排时须要应用Browserify等对象打包。这里不妨介绍一下CommenJS规范。
推荐阅读
一、经由过程 show status 敕令懂得各类 sql 的履行频率show status 敕令中心可以参加选项 session(默认) 或 global: session (当前连接) global (自数据前次启动至今)# Com_xxx 表>>>详细阅读
本文标题:关于ES6的10个最佳特性
地址:http://www.17bianji.com/lsqh/37056.html
1/2 1