InfoQ技术大会双节活动折上折,满10000-1000>> 了解详情
写点什么

深入浅出 ES6(一):ES6 是什么

2015 年 6 月 05 日

编者按:ECMAScript 6 离我们越来越近了,作为它最重要的方言,Javascript 也即将迎来语法上的重大变革,InfoQ 特开设“深入浅出ES6 ”专栏,来看一下ES6 将给我们带来哪些新内容。本专栏文章来自 Mozilla Web 开发者博客,由作者授权翻译并发布。

欢迎来到 ES6 深入浅出!JavaScript 的新版本离我们越来越近,我们将通过每周一节的系列课程一起探索 ECMAScript 6 新世界。ES6 中包含了许多新的语言特性,它们将使 JS 变得更加强大,更富表现力。在接下来的几周内,我们将一一深入了解它们。但在我们开始详细学习之前,我认为十分有必要花几分钟讲解一下 ES6 到底是什么,以及你可以从中学到什么!

ECMAScript 发生了什么变化?

编程语言 JavaScript 是 ECMAScript 的实现和扩展,由 ECMA(一个类似 W3C 的标准组织)参与进行标准化。ECMAScript 定义了:

ECMAScript 标准不定义 HTML 或 CSS 的相关功能,也不定义类似 DOM(文档对象模型)的 Web API ,这些都在独立的标准中进行定义。ECMAScript 涵盖了各种环境中 JS 的使用场景,无论是浏览器环境还是类似 node.js 的非浏览器环境。

新标准

上周,ECMAScript 语言规范第 6 版最终草案提请 Ecma 大会审查,这意味着什么呢?

这意味着在今年夏天,我们将迎来最新的JavaScript核心语言标准

这无疑是一则重磅新闻。早在 2009 年,上一版 ES5 刚刚发布,自那时起,ES 标准委员会一直在紧锣密鼓地筹备新的 JS 语言标准——ES6。

ES6 是一次重大的版本升级,与此同时,由于 ES6 秉承着最大化兼容已有代码的设计理念,你过去编写的 JS 代码将继续正常运行。事实上,许多浏览器已经支持部分 ES6 特性,并将继续努力实现其余特性。这意味着,在一些已经实现部分特性的浏览器中,你的 JS 代码已经可以正常运行。如果到目前为止你尚未遇到任何兼容性问题,那么你很有可能将不会遇到这些问题,浏览器正飞速实现各种新特性。

版本号 6

ECMAScript 标准的历史版本分别是 1、2、3、5。

那么为什么没有第 4 版?其实,在过去确实曾计划发布提出巨量新特性的第 4 版,但最终却因想法太过激进而惨遭废除(这一版标准中曾经有一个极其复杂的支持泛型和类型推断的内建静态类型系统)。

ES4 饱受争议,当标准委员会最终停止开发 ES4 时,其成员同意发布一个相对谦和的 ES5 版本,随后继续制定一些更具实质性的新特性。这一明确的协商协议最终命名为“Harmony”,因此,ES5 规范中包含这样两句话:

ECMAScript 是一门充满活力的语言,并在不断进化中。

未来版本的规范中将持续进行重要的技术改进。

这一声明许下了一个未来的承诺。

兑现承诺

2009 年发布的改进版本 ES5,引入了 Object.create() Object.defineProperty() getters setters 严格模式以及 JSON 对象。我已经使用过所有这些新特性,并且我非常喜欢 ES5 做出的改进。但事实上,这些改进并没有深入影响我编写 JS 代码的方式,对我来说最大的革新大概就是新的数组方法:.map() . filter() 这些。

但是,ES6 并非如此!经过持续几年的磨砺,它已成为JS 有史以来最实质的升级,新的语言和库特性就像无主之宝,等待有识之士的发掘。新的语言特性涵盖范围甚广,小到受欢迎的语法糖,例如箭头函数(arrow functions)和简单的字符串插值(string interpolation),大到烧脑的新概念,例如代理(proxies)和生成器(generators)。

ES6 将彻底改变你编写 JS 代码的方式!

这一系列旨在向你展示如何仔细审阅 ES6 提供给 JavaScript 程序员的这些新特性。

我们将从一个经典的“遗漏特性”说起,十年来我一直期待在 JavaScript 中看到的它。所以从现在起就加入我们吧,一起领略一下 ES6 迭代器(iterators)和新的 for-of 循环!


感谢刘振涛对本文的策划,徐川对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

2015 年 6 月 05 日 00:19290543
用户头像

发布了 63 篇内容, 共 126.6 次阅读, 收获喜欢 35 次。

关注

评论

发布
暂无评论
发现更多内容

《精通比特币》学习笔记(第二章)

棉花糖

区块链 读书笔记

人民网:亚马逊云科技,以这样姿势扎根中国!

亚马逊云科技 (Amazon Web Services)

建信金科大咖访谈:金融科技驱动业务创新,智慧运营引领发展转型

金科优源汇

笔记整理:技术架构涵盖内容和演变过程总结

小傅哥

Java 程序员 小傅哥 架构设计 架构图

KubeEdge 1.6发布:可靠的K8s原生边云API

华为云原生团队

开源 云原生 边缘技术 kubeedge

互联网短平快下,DevCloud如何支撑软件开发的“转型”?

华为云开发者社区

android 敏捷开发 软件开发 华为云 devcloud

详解NLP和时序预测的相似性(附赠AAAI21最佳论文INFORMER的详细解析)

华为云开发者社区

自然语言处理 深度学习 时序预测 RNN Informer

SQL Server 删除正在使用数据库

田镇珲

翻译:《实用的Python编程》03_05_Main_module

codists

Python

2021 创新加速周蓄势待发,铆足牛劲再出发!

亚马逊云科技 (Amazon Web Services)

从JVM底层原理分析数值交换那些事

秦怀杂货店

JVM 交换数值

不知不觉不假思索——可供性

Justin

心理学 28天写作 游戏设计

百分点数据科学实验室:产品生命周期管理创新应用落地实践

百分点大数据团队

Kubectl Plugin 推荐(一)| 可观测性篇

郭旭东

kubectl kubectl plugin

智汇华云 | ArcherOS Stack—软件定义数据中心“利器”

华云数据

云小课丨网络好不好,ping一下就知道

华为云开发者社区

网络 虚拟私有云 ping ICMP 安全组

百分点大数据技术团队:数据治理“PAI”实施方法论

百分点大数据团队

一个简单实用的Linux性能分析工具

运维研习社

Linux 性能分析

报名 | 全球首个小资源音色克隆赛结果出炉,高分队伍线上报告会

爱奇艺技术产品团队

AI数学基础之:概率和上帝视角

程序那些事

人工智能 AI 程序那些事 概率论

Shibboleth IdP4 升级指南

冯骐

认证 Shibboleth IdP 上海教育认证 上海教育

工作中,有哪些SQL是我们必须要掌握的?

xiezhr

oracle sql SQL语法 3月日更

滚雪球学 Python 第二轮开启,进阶之路,列表与元组那些事儿

梦想橡皮擦

28天写作 3月日更

华云大咖说 | 高校混合云建设及应用

华云数据

是什么支持“毅力号”在火星上尽情摄影?

亚马逊云科技 (Amazon Web Services)

【LeetCode】用栈实现队列Java题解

HQ数字卡

算法 LeetCode 28天写作

Elasticsearch Analyzer 分词器

escray

elastic 七日更 28天写作 死磕Elasticsearch 60天通过Elastic认证考试 3月日更

MySQL数据库DDL、DML详解

若尘

MySQL

Java的锁

并发编程

25个关键技术点,带你熟悉Python

华为云开发者社区

Python

力扣(LeetCode)刷题,简单+中等题(第32期)

不脱发的程序猿

算法 LeetCode 编程能力 28天写作 3月日更

深入浅出ES6(一):ES6是什么-InfoQ