【探秘ES6】系列专栏(一):ES6简介

ES6做为新一代JavaScript标准,即将与广大前端开发者见面。为了让你们对ES6的诸多新特性有更深刻的了解,Mozilla Web开发者博客推出了《ES6 In Depth》系列文章。CSDN已获受权,将持续对该系列进行翻译,组织成【探秘ES6】系列专栏供你们学习借鉴。本文为该系列的第一篇。前端

欢迎来到深刻ES6系列!在该系列中,咱们将深刻探索即将到来的新一代JavaScript标准——ECMAScript 6。ES6包含了许多新的语言特性,这会让JS变的更增强大且富有表现力。咱们将会在接下来的几周内逐步介绍这些新特性。但在此以前,咱们有必要花点时间来介绍一下ES6究竟是什么以及有哪些使人期待的地方。node

ECMAScript包含了哪些内容?程序员

JavaScript是对由ECMA(European Computer Manufacturer’s Association,欧洲计算机制造商联合会,一个跟W3C相似的标准化组织)定义的ECMAScript标准的实现。ECMAScript主要定义了如下内容:es6

而与HTML和CSS,以及Web APIs相关的内容,好比DOM(文档对象模型),是在别的标准中定义的,与ECMAScript无关。ECMAScript所定义的内容不只能够在浏览器环境中使用,也能够在非浏览器环境中使用,好比Node.js函数

新的标准学习

上周,ECMAScript语言标准的最终稿即ES6,已经提交给Ecma大会进行审查。这意味着什么呢?

这意味着在这个夏天,咱们将拥有JavaScript这门核心编程语言的最新标准。

这是一个大新闻。一个新的JS语言标准通常会使用很长一段时间。上一个版本ES5,是在2009年推出的。自此之后ES标准委员会一直在致力于ES6的研究。

ES6是一次重大更新。固然,你以前的JS代码仍然能够继续在新标准下运行。ES6的设计对当前代码作到了最大兼容。实际上,许多浏览器早已支持了许多ES6的新特性,而且一直在努力完善。这也就是说,你的JS代码其实早就已经在可以支持部分ES6特性的浏览器上运行了!若是到目前为止你尚未遇到相关兼容性问题,那么你可能永远也不会遇到了。

从版本1到版本6

以前推出的ECMAScript标准版本号分别为有一、二、3和5。

为何没有4呢?ES4曾计划推出,而且在推出前已完成了大量工做,但最终仍是取消了,缘由就是ES4的野心实在太大了,内容太超前(举个例子,ES4包含一个极其复杂的支持泛型和类型推断的内建静态类型系统)。

ES4引发了许多争议。最终标准委员会中止了对ES4的工做,委员会成员们赞成推出一个相对温和的版本——ES5,而后继续为ECMAScript添加一些更实质性的特性。这个更具实质性,更加明确,而且最终协商一致的版本叫作“Harmony”,这也是为何ES5规范中会有下面一段话:

ECMAScript是一门充满活力的语言,对该语言的革新还在继续。将来版本中将持续进行重要技术改进。

这段声明也能够看做是对ES6的一种承诺。

承诺的兑现

2009年所推出的ES5,引进了Obejct.create(),Object.defineProperty(),getterssetters严格模式,还有JSON对象。全部这些特性我都使用过,而且喜欢ES5所带来的一切。但这些新特性却对我编写JS代码的方式产生了巨大影响。对我来讲最大的革新,或许就是新的Array方法:.map(),.filter()等。

然而,ES6却不一样。这是通过多年设计和协调的产物。它包含了许多新的语言特性和库,是JS最实质性的一次升级。这些新特性有为了提供便利而设计的功能,如arrow functions(箭头函数)和string interpolation(字符串插值)。也有彻底崭新的概念,好比proxies(代理)和generators(生成器)。

ES6将会改变你编写JS的方式。

本系列的目的是将ES6所带来的新特性展现给JavaScript程序员。

咱们将会从经典的“缺失的特性”开始讲起,描述我近10年来一直想要看到的JavaScript精华部分。下篇,咱们将会介绍ES6的iterators(迭代器)和新的循环语句for-of。(译者:李全锋  责编:陈秋歌)

原文连接:ES6 In Depth: An Introduction

本译文遵循Creative Commons Attribution Share-Alike License v3.0 

相关文章
相关标签/搜索