武汉的开发者们注意啦!AI技术战略、框架以及最佳实战尽在Azure OpenAI Day 了解详情
写点什么

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

  • 2015-06-05
  • 本文字数:1691 字

    阅读完需:约 6 分钟

编者按: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-06-05 00:19292473
用户头像

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

关注

评论

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

设计电商秒杀系统

Mars

架构实战营 「架构实战营」

一条 Git 命令减少了一般存储空间,我的服务器在偷着笑

沉默王二

电商秒杀系统设计

天天向上

架构实战营

毕业设计

Geek_cb2b43

物联网场景中灵活实施对设备的控制管理

亚马逊云科技 (Amazon Web Services)

loT

为什么您的企业需要移动CRM系统

低代码小观

移动 CRM CRM系统 客户关系管理系统 企业管理工具

ReactNative进阶(十九):React Native 按钮 Touchable 系列组件使用详解

No Silver Bullet

​React Native 1月月更 Touchable

物联网场景中灵活实施对设备的控制管理

亚马逊云科技 (Amazon Web Services)

loT

zip文件自动打包

你?

架构实战营 第 4 期 模块五作业

架构实战营 模块五 「架构实战营」

低代码实现探索(二十)功能的路径

零道云-混合式低代码平台

5Why根因分析法:通过好问题引出一个好答案

石云升

1月月更 分析方法

模块五

Only

架构实战营 「架构实战营」

架构实战营-毕业设计

21°Char

架构实战营模块九作业

孙志强

架构实战营

基于Mysql,ssm食材采购系统

叫练

ssm 餐厅采购

Hoo虎符研究院 | 投资前沿——过去一周顶级投资机构动向

区块链前沿News

虎符 Hoo 虎符交易所 区块链投资

架构实战营-毕业设计

瓜子葫芦侠

「架构实战营」

低代码实现探索(二十一)微流动作返回值类型

零道云-混合式低代码平台

架构训练营 毕业设计

吴霏

架构训练营 「架构实战营」

设计电商秒杀系统

Steven

架构实战营

一文带你快速了解 Java 线上问题快速诊断神器 Arthas

zuozewei

性能测试 Java性能 性能分析 Arthas 1月月更

Three.js 入门指南

devpoint

WebGL 3D渲染 three.js 1月月更

特聘专家朱嘉明:2022,数字经济迈入历史新阶段

CECBC

云原生训练营 毕业总结

张大彪

云原生

手把手教程|通过部署 Apache Superset 实现 Amazon S3 的数据可视化

亚马逊云科技 (Amazon Web Services)

analytics

当使用Vue2+Babel时,如何实现组件重新渲染

DisonTangor

Vue babel

【架构实战营】模块九作业

liu🍊

Go 语言快速入门指南:Go 指针

宇宙之一粟

指针 Go 语言 1月月更

hw9-毕业项目设计

WWH

架构实战营

记中山公园全马--一场无准备的马

wood

跑步 300天创作

深入浅出ES6(一):ES6是什么_JavaScript_Jason Orendorff_InfoQ精选文章