写点什么

深入浅出 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:19293041
用户头像

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

关注

评论

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

Dynamic Wallpaper for mac壁纸软件:2000+精美视频素材

Rose

提供方耗时正常,调用方毛刺频频

京东科技开发者

Ubuntu上安装libvirtd

百度搜索:蓝易云

苹果mac桌面宠物软件推荐 Desktop Goose抖音桌面宠物鹅

Rose

一键优化,极速降温!Macs Fan Control Pro让Mac性能飙升!

Rose

Luminar Neo for Mac(AI技术图像编辑软件)

Mac相关知识分享

与时俱进,京东云高性能计算平台

京东科技开发者

提供方耗时正常,调用方毛刺频频

京东科技开发者

Office 2021 LTSC 专业最新激活版-mac/win

Rose

🔥httpsok-v1.18.0-SSL证书自动续期

物有本末

nginx SSL证书 (SSL)/TLS HTTPSOK

DevOps 体系搭建稳定后,DevOps 团队发展方向如何?

思码逸研发效能

DevOps 研发效能 研发效能度量 研发效能管理 思码逸

有奖实践,基于 EMR StarRocks 实现游戏玩家画像和行为分析

阿里云大数据AI技术

阿里云 EMR paimon 镜舟 免费试用

【YashanDB知识库】oracle与yashanDB的jdbc返回常量列"0.00"的精度和刻度不一致

YashanDB

数据库 yashandb

7thonline第七在线荣耀加冕:获2024千峰奖“产业互联网百强”

第七在线

VMware Fusion Pro 12 Mac vm虚拟机激活版

Rose

Parallels Desktop 19 for Mac密钥:PD永久授权

Rose

XMind 思维导图 2024下载安装 - mac/win

Rose

Lightroom Classic 2022(lrc2022)中文直装版

Rose

淘宝天猫商品评论数据接口丨淘宝API实时接口指南

tbapi

淘宝API接口 天猫API接口 淘宝商品评论接口 天猫商品评论接口

专业的终端SSH工具 SecureCRT for mac 最新许可证分享

Rose

【YashanDB知识库】同样建表语句,大整型数字在Oracle插入成功,在YashanDB插入失败

YashanDB

数据库 yashandb

ScreenFlow for mac(屏幕录制与视频编辑软件)

Mac相关知识分享

【YashanDB知识库】如何将mysql含有group by的SQL转换成崖山支持的SQL

YashanDB

数据库 yashandb

轻松拿捏【伪需求】

京东科技开发者

如何快速增加需求吞吐并缩短交付周期?

思码逸研发效能

敏捷开发 研发效能 效能度量 研发效能度量

Autodesk AutoCAD 2021 for mac中文永久密钥及安装教程

Rose

Cornerstone for Mac SVN管理工具 永久激活版

Rose

Java线程通信详解

百度搜索:蓝易云

DML操作报列不存在?

GreatSQL

高效精准经营决策,智能财务的全景洞察与分析监控

用友智能财务

高效 企业 财务 会计

【YashanDB知识库】UNDO表空间膨胀怎么处理

YashanDB

数据库 yashandb

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