写点什么

深入浅出 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 中文站投稿或者参与内容翻译工作,请邮件至 [email protected] 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

2015-06-05 00:19293693
用户头像

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

关注

评论

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

NSDT孪生场景编辑器系统介绍

3D建模设计

数字孪生 建模 模拟仿真

多元变现产品全新升级,百度内容变现新解法

彭飞

香港站群多IP服务器,扩展您的在线业务,全球影响力加倍

一只扑棱蛾子

站群服务器

对话在行人|承德水务:通过数智化实现“一滴水的闭环管理”

用友BIP

对话在行人

微软推出统一 Copilot AI 助手;谷歌拟自主研发 AI 芯片;苹果拟在国内引进新的 OLED 供应商丨RTE开发者日报 Vol.55

声网

基于Java+vue开发的企事业移动培训考试平台

金陵老街

java 架构

什么是LED贴膜屏?

Dylan

技术 广告 3D LED显示屏

以创新抵御经济环境压力:自动化测试ReadyAPI帮助企业平衡软件质量与成本控制

龙智—DevSecOps解决方案

自动化测试

苹果Mac电脑3D家居设计 Live Home 3D Pro 激活中文版

胖墩儿不胖y

3D Mac软件 家居设计软件 三维家居设计

如何正确地计算经过时间(elapsed time)

WuXiaoYuan

Java 时钟同步

位移贴图的实现原理

3D建模设计

纹理处理 材质贴图 位移贴图

阻碍财务共享助力财务转型的三个坑,要绕行!

用友BIP

财务共享

如何保障汽车嵌入式软件的质量与安全?您需要了解ASPICE标准

龙智—DevSecOps解决方案

汽车软件开发 汽车软件 ASPICE OEM

网络爬虫使用什么特点的http代理?

巨量HTTP

http代理

法线贴图的视线原理

3D建模设计

纹理处理 材质贴图 法线贴图

Flink Batch SQL Improvements on Lakehouse

Apache Flink

大数据 flink 实时计算

TiDB binlog故障处理之drainer周期性罢工

TiDB 社区干货传送门

故障排查/诊断

【ODPS新品发布第2期】实时数仓Hologres:推出计算组实例/支持JSON数据/向量计算+大模型等新能力

阿里云大数据AI技术

大数据 阿里云

2023 届的字节跳动技术新人,个个都是宝藏同学

字节跳动技术范儿

字节跳动 offer 校招

软件测试/测试开发丨利用人工智能ChatGPT自动生成架构图

测试人

人工智能 软件测试 ChatGPT

凹凸贴图和法线贴图的区别

3D建模设计

纹理处理 材质贴图 凹凸贴图 法线贴图

流行的机器学习算法——线性回归

小魏写代码

软件测试/测试开发丨利用人工智能ChatGPT编写晋级报告

测试人

人工智能 程序员 软件测试 ChatGPT 晋级报告

数据驱动,智能运营:2023全球商业创新大会精要

用友BIP

2023全球商业创新大会

企业微信 API 接口调用教程:从入门到精通

Liam

后端 后端开发 API 开放 API 企业微信开发

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