ES5和ES6之间的区别?
栏目: JavaScript · 发布时间: 5年前
内容简介:ECMAScript 5(ES5):ECMAScript的第5版,于2009年标准化。该标准已在所有现代浏览器中完全实现ECMAScript 6(ES6)/ ECMAScript 2015(ES2015):第6版ECMAScript,于2015年标准化。该标准已在大多数现代浏览器中部分实施。以下是ES5和ES6之间的一些主要区别:
ECMAScript 5(ES5):ECMAScript的第5版,于2009年标准化。该标准已在所有现代浏览器中完全实现
ECMAScript 6(ES6)/ ECMAScript 2015(ES2015):第6版ECMAScript,于2015年标准化。该标准已在大多数现代浏览器中部分实施。
以下是ES5和ES6之间的一些主要区别:
1.箭头函数和字符串插值:
const greetings = (name) => { return `hello ${name}`; }
或:
const greetings = name => `hello ${name}`;
2. Const在许多方面像其他语言中的常量一样工作,但有一些警告。Const表示对值的“恒定引用”。因此,使用const,您可以改变变量引用的对象的属性,你无法改变引用本身。
const NAMES = []; NAMES.push("Jim"); console.log(NAMES.length === 1); // true NAMES = ["Steve", "John"]; // error
3. 块范围变量。新的ES6关键字let允许开发人员在块级别定义变量。
4. 默认参数值 默认参数允许我们使用默认值初始化函数。如果省略或未定义参数,则使用默认值 - 表示null是有效值。
// Basic syntax function multiply (a, b = 2) { return a * b; } multiply(5); // 10
5. 类定义和继承:ES6引入了对类(class关键字),构造函数(constructor关键字)和extend继承关键字的语言支持。
6. for-of运算符:
for ... of语句创建一个循环遍历可迭代对象的循环。
7. Spread Operator对象合并
const obj1 = { a: 1, b: 2 } const obj2 = { a: 2, c: 3, d: 4} const obj3 = {...obj1, ...obj2}
8. Promises提供了一种处理异步操作的结果和错误的机制。你可以用回调来完成同样的事情,但是promises通过方法链接和简洁的错误处理提供了更高的可读性。
const isGreater = (a, b) => { return new Promise ((resolve, reject) => { if(a > b) { resolve(true) } else { reject(false) } }) } isGreater(1, 2) .then(result => { console.log('greater') }) .catch(result => { console.log('smaller') })
9. 模块导出和导入
看看模块导出:
const myModule = { x: 1, y: () => { console.log('This is ES5') }} export default myModule;
模块导入:
import myModule from './myModule';
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
大思维:集体智慧如何改变我们的世界
杰夫·摩根 / 郭莉玲、尹玮琦、徐强 / 中信出版集团股份有限公司 / 2018-8-1 / CNY 65.00
智能时代,我们如何与机器互联,利用技术来让我们变得更聪明?为什么智能技术不会自动导致智能结果呢?线上线下群体如何协作?社会、政府或管理系统如何解决复杂的问题?本书从哲学、计算机科学和生物学等领域收集见解,揭示了如何引导组织和社会充分利用人脑和数字技术进行大规模思考,从而提高整个集体的智力水平,以解决我们时代的巨大挑战。是英国社会创新之父的洞见之作,解析企业、群体、社会如何明智决策、协作进化。一起来看看 《大思维:集体智慧如何改变我们的世界》 这本书的介绍吧!