es5 和 es6 的区别

子凡 2019-06-28 14:33:26
问答

ECMAScript是JS的核心,ES6相对于ES5在向下兼容的基础上提供大量新特性,如:块级作用域关键字let、常量const、对象字面量的属性赋值简写、字符串模板等新特性。不过现代浏览器支持的ES版本是ES5。

ECMAScriptJS 的核心,ES6 相对于 ES5 在向下兼容的基础上提供大量新特性,如:块级作用域 关键字 let, 常量 const、对象字面量的属性赋值简写、字符串模板、Iterators(迭代器)、Modules、Proxies、Map+Set+WeakMap+WeakSet 四种集合类型、箭头函数等。

ES5 ES6

JavaScript 一种动态类型、弱类型、基于原型的客户端脚本语言,用来给 HTML 网页增加动态功能,EcmaScript(ES)是 JavaScript(JS)的标准化脚本语言也是核心,它规定了语言的组成部分:语法、类型、语句、关键字、保留字、操作符、对象。

现代浏览器支持的 ES 版本是 ES5。但是,ES6 解决了核心语言的许多局限性,使开发人员更容易编写代码。

ES6 在 2015 年 6 月正式发布了。它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。

ES6 是继 ES5 之后的一次主要改进,语言规范由 ES5.1 时代的 245 页扩充至 600 页。ES6 增添了许多必要的特性,例如:模块和类,以及一些实用特性,例如 Maps、Sets、Promises、生成器(Generators)等。尽管 ES6 做了大量的更新,但是它依旧完全向后兼容以前的版本,标准化委员会决定避免由不兼容版本语言导致的“web 体验破碎”。结果是,所有老代码都可以正常运行,整个过渡也显得更为平滑,但随之而来的问题是,开发者们抱怨了多年的老问题依然存在。

截止发布日期,没有一款完全支持 ES6 的 JavaScript 代理(无论是浏览器环境还是服务器环境),所以热衷于使用语言最新特性的开发者需要将 ES6 代码转译为 ES5 代码。等到主流浏览器完全实现 ES6 特性大概需要一年左右的时间,若想一睹各代理对于 ES6 特性的支持情况,我们推荐大家参考由 kangax 维护的 ECMAScript Compatibility Table 。

ECMAScript 2016 的制定工作已经启动,许多 草案 已被提交到委员会,包括以下这些:异步方法、定型对象、并行 JavaScript、类修饰符以及 observables。虽然委员会正在积极评估这些特性,但我们无法预知它们的未来,其中一些会加入到下一版规范,另一些会加入未来的其它规范,剩下的将最终被遗弃。 TC39 进程 解释了新特性从开始到最终被语言采用所经历的各种阶段。

0个人收藏 收藏

评论交流

泪雪默认头像 请「登录」后参与评论
  1. 加载中..