ECMAScript 6 基础入门:从变量声明到块级绑定
1. ECMAScript 6 的崛起
ECMAScript 6(ES6)的出现犹如一场风暴席卷全球。人们早已不再期待它时,它却突然降临,并且传播速度之快,让大多数人都来不及学习。
2013 年,我在一家从 iOS 转向 Web 开发的初创公司工作。那时我还未参与创建 Redux,也未涉足 JavaScript 开源社区。当时,我努力学习 Web 开发,内心充满恐惧。我的团队必须在短短几个月内用 JavaScript 从头开始构建产品的 Web 版本。
起初,我对用 JavaScript 编写大型项目嗤之以鼻。但一位新团队成员说服我,让我认识到 JavaScript 并非玩具语言。我决定试一试,抛开偏见,打开 MDN 和 StackOverflow,第一次深入学习 JavaScript。我被它的简洁性所吸引,同事还教我如何使用代码检查工具(linter)和打包工具(bundler)。几周后,我发现自己爱上了编写 JavaScript。
然而,没有一种语言是完美的。在使用其他语言后,我习惯了频繁的更新,但 JavaScript 在过去十年里,唯一重大的更新——ECMAScript 5,仅仅是一次清理工作,而且浏览器花了数年时间才完全支持。当时,即将推出的 ECMAScript 6(代号 Harmony)远未完成,似乎还遥不可及。我心想:“也许十年后我才能写一些 ES6 代码。”
当时有一些实验性的“转译器”,如 Google Traceur,可以将 ES6 代码转换为 ES5 代码,但大多数功能有限,或者难以集成到现有的 JavaScript 构建流程中。直到一个名为 6to5 的新转