haizlin / fe-interview

前端面试每日 3+1,以面试题来驱动学习,提倡每日学习与思考,每天进步一点!每天早上5点纯手工发布面试题(死磕自己,愉悦大家),6000+道前端面试题全面覆盖,HTML/CSS/JavaScript/Vue/React/Nodejs/TypeScript/ECMAScritpt/Webpack/Jquery/小程序/软技能……
http://www.h-camel.com
MIT License
25.43k stars 3.26k forks source link

[js] 第172天 ES5和ES6、ES7有什么区别? #1298

Open haizhilin2013 opened 5 years ago

haizhilin2013 commented 5 years ago

第172天 ES5和ES6、ES7有什么区别?

wwqin commented 5 years ago

首先就是版本不同(显而易见),每个版本都有新特性也可以说是这几个版本的区别吧 ES5

ES6

ES7

LeiDeMing commented 4 years ago

参考博客

ES6

请参考阮一峰ES6

ES7

1. Array.prototype.includes

2. 指数操作符

在ES7中引入了指数运算符具有与Math.pow(..)等效的计算结果。

ES8

1. async/await

2. Object.values()

3. Object.entries()

4. String.prototype.padStart()/String.prototype.padEnd()

5. Object.getOwnPropertyDescriptors()

wind8866 commented 2 years ago

这里其实是非标准叫法 ES5指ES2015(不包括)以前的标准版本 ES6指当前ES2015~至今已发布的版本 ES7指在草案中未正式发布的版本,更合理一点的说法应该是ESNEXT

xiaoqiangz commented 2 years ago

ES6: 新增了箭头函数、块级作用域、class、promise、解构赋值、默认参数、模板字符串、async/await、剩余参数、展开运算符 ES7: 新增API Array.prototype.includes ES5: 继承是原型链继承,ES6则引进了extend关键字,声明类 ES6新增了class关键字、ES6还可以设置默认参数