写点什么

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

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

关注

评论

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

软件测试学习笔记丨allure学习指南

测试人

软件测试

语音生成公司 ElevenLabs 估值达 30 亿美元;OpenAI Realtime API 很好也很贵丨RTE 开发者日报

声网

HelixFold 3 全球首个完整复现 AlphaFold 3,百度智能云 CHPC 为人类生命探索提供算力平台支撑

百度Geek说

百度 大数据‘’ 算法、

C++函数指针详解

不在线第一只蜗牛

Java c++ JVM

高效开发Maven架构设计图解/掌握项目工程自动化技巧(精通篇三)

肖哥弹架构

maven 效能

哭晕,腾讯的面试太难了。。。

王中阳Go

Go 面试 后端

NL2SQL之DB-GPT-Hub<详解篇>:text2sql任务的微调框架和基准对比

汀丶人工智能

NL2SQL

RAG系统评测实践详细版:Coze及相关产品评测对比,以及下一代RAG技术

汀丶人工智能

rag

亚马逊国际商品详情API返回值:电商精准营销的关键

技术冰糖葫芦

API Gateway API 接口 API 文档 API 测试 pinduoduo API

2024-10-08:用go语言,给定一个字符串 word 和一个整数 k,判断是否可以通过删除最少数量的字符使得该字符串成为 k 特殊字符串。 其中,k 特殊字符串满足字符串中任意两个字符的出现频率

福大大架构师每日一题

福大大架构师每日一题

SD-WAN怎样满足企业网络的需求

Ogcloud

SD-WAN SD-WAN组网 SD-WAN服务商 SDWAN SD-WAN国际专线

DApp智能合约开发:交易平台定制化与系统成品开发

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 NFT开发 公链开发

打造一站式应用内支付体验,助力开发者商业增长

HarmonyOS SDK

HarmonyOS

简化部署流程:Rainbond让Jeepay支付系统部署更轻松

北京好雨科技有限公司

Kubernetes 云原生 rainbond 企业号10月PK榜

电商数据化运营:阿里巴巴商品详情API返回值的实际应用

技术冰糖葫芦

API 接口 API 文档 API 测试 pinduoduo API

在C#中使用适配器Adapter模式和扩展方法解决面向对象设计问题

不在线第一只蜗牛

C# .net

很好也很贵?OpenAI Realtime API 一手体验和 Voice AI 的未来 |播客《编码人声》

声网

用AI构建小程序可行吗?

FinFish

AI技术 小程序容器 小程序开发 AI开发小程序 前端页面开发

荣誉|奇点云入选“2024年成长型浙江数商”名单

奇点云

人工智能 互联网 软件

好用的文件对比工具:Beyond Compare 4 (Win&Mac) 中文版

你的猪会飞吗

Beyond Compare 4 for Mac Beyond Compare 4 下载

京东商品详情API接口(JD.item_get)并发策略:提升数据抓取效率

tbapi

京东API接口 京东商品详情接口 京东商品数据接口

规模之大刷新世界纪录,Cloudflare成功抵御3.8Tbps的DDoS攻击

网络安全服务

udp 端口 web服务器 Cloudflare DDoS 攻击

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