微信号:FrontDev

介绍:分享 Web 前端相关的技术文章、工具资源、精选课程、热点资讯

深入解析 ES6:简介

2015-08-06 20:43 前端大全

(点击上方,可快速关注)


英文:Jason Orendorff

译者:bubkoo的博客(@问崖的崖)

网址:http://bubkoo.com/2015/06/14/es6-in-depth-an-introduction/

点击“阅读原文”可查看本文网页版


欢迎来到深入解析 ES6 系列,本系列将探讨 JavaScript 即将面世的新版本 — ECMAScript 6。ES6 包含许多新特性,这使得 JavaScript 语言更强大和更具表现力,接下来的每周我们将逐一揭开 ES6 的神秘面纱。在开始之前,我们值得花几分钟时间来谈谈什么是 ES6 或者你期待它是什么样的。


什么是 ECMAScript


JavaScript 语言的标准是由 ECMA(类似 W3C 的标准化组织)制定,并命名为 ECMAScript,除其他事项外,ECMAScript 还定义了:


  • 语法规则 — 解析规则、关键字、声明、操作符等

  • 变量类型 — 布尔、数字、字符串、对象等

  • 原型和继承机制

  • 包含内置对象和方法的标准库 — JSON、Math、数组方法、遍历对象的方法等


ECMAScript 并没有定义处理 HTML 和 CSS 的相关标准,也就是说并没有定义这些 Web API,如 DOM(文档对象模型),这些都被定义在单独的标准中。ECMAScript 规范不仅存在于浏览器端,还包括非浏览器端,如 NodeJS。


新规范


就在上周,第 6 版 ECMAScript 规范的最终草案提交给了 ECMA 审查,这意味着什么呢?


这意味着,这个新规范将在今年夏天与大家正式见面。


这将是历史性的一刻,新的 JS 规范不是每天都会降临,上个版本 — ES5 出现于 2009 年,从那时起,ES 标准委员会就开始着手制定 ES6 规范。


ES6 是该语言的重大升级,与此同时,你的 JS 代码也将继续正常运行,ES6 将最大兼容现有代码。事实上,许多浏览器已经实现了 ES6 的某些新特性,这意味着,你的 JS 代码已经在实现了某些 ES6 新特性的浏览器中运行了。如果现在你的代码没有出现任何兼容性问题,那么以后也不会。


关于版本号


以前的 ECMAScript 版本号分别是 1、2、3 和 5。


那么,第 4 版到哪里去了呢?实际上,第 4 版也在计划之列,并完成了大量工作,但由于想法过于大胆(比如,它制定了一个非常复杂的基于泛型和类型推断的静态类型系统),而最终不得不被废弃掉。


其实 ES4 是有争议的,当标准委员会停止制定 ES4 规范时,委员会成员同意发布一个相对温和的 ES5,然后继续制定一些更实质性的新特性,这就是为什么在 ES5 的规范中包含下面这句话:


ECMAScript 是一个充满活力的语言,语言本身的进化并不完整,在未来的版本中将进行一些重大的技术改进。

这句话可以被视为一种承诺。


兑现承诺


在 2009 年发布的 ES5 中,引入了Object.create()、Object.defineProperty()、getter、setter、严格模式和 JSON 对象。我用过所有这些特性,我也很欣赏 ES5 为这门语言所做的改进,但这并没有对我的编码方式产生巨大影响。对我来说,最重要的创新莫过于那些数组的新方法,如.map()和.filter()等。


然而,ES6 是不同的,这是多年“和谐”工作的结晶,也是 JS 历史上从来没有过的实质性的升级。这些新特性包括从简单的箭头函数、字符串插值到复杂的代理、Generator 函数等。


ES6 改变了我们编写 JS 代码的方式。


本系列将逐步展示 ES6 的这些新特性,并介绍如何使用这些新特性。


我们将从一个典型的人们期待了数十年的“缺失功能”开始,所以,下周我们一起来看看 ES6 的迭代器(Iterator)和新的 for-of 循环。




前端大全

微信号:FrontDev

打造东半球最好的 前端技术 微信号

--------------------------------------

商务合作QQ:2302462408

招聘和猎头服务QQ:2302462408

投稿网址:top.jobbole.com





 
前端大全 更多文章 5个典型的JavaScript面试题(上) Limu:JavaScript的那些书 Web开发:我希望得到的编程学习路线图 JavaScript基础工具清单 常用排序算法之JavaScript实现
猜您喜欢 【高考季】Weex WorkShop挑战赛报名开始啦 iOS网络请求优化之DNS映射 又碰Java启动性能问题 DevOps成都站|议题公布@这可能是成都今年干货最多的技术峰会 从1.5K到18K 一个程序员的5年成长之路