如何准备语言变化?

时间:2013-07-17 18:30:36

标签: javascript ecmascript-5 ecmascript-6

我正在努力学习JavaScript的来龙去脉,并且最近发现ECMAScript 6正在进行中 - 学习即将发生变化并即将离开的事情似乎越来越微不足道。我不知道在新版本出现时是否值得深入研究ECMAScript5的复杂细节。我应该如何准备自己作为ECMAScript 6的程序员,更一般地说我如何为不断发展的语言做准备?

3 个答案:

答案 0 :(得分:2)

网络环境中的Javascript(如果这就是你所说的)是一个非常不同的野兽。

您需要了解引擎偏差和限制。

拥抱优雅的退化。

有些引擎实现了ES3。其他人完全取代ES3与ES5的一致性。有些甚至开始慢慢添加ES6功能。最重要的是,一些浏览器还有非标准添加,不属于ES3,ES5或ES6。

你需要处理所有这些:)

好消息是语言的很大一部分保持不变。即使在某些浏览器中引入了新功能,仍然需要支持老一代引擎的痕迹。

你现在学习ES5不会出错;请记住,旧浏览器没有一些新功能。

这是大多数流行浏览器中的ES5 compatibility table

这是one for ES6

你可以清楚地看到当前的事态。

如果您对非标准ES功能感兴趣,take a look at this

答案 1 :(得分:2)

最后我说,ES6将在今年年底之前完成。我是否会在截止日期之前变得持怀疑态度,但即使它确实如此,浏览器仍然需要时间来采用它。即使在浏览器采用它之后,您仍需要等到很大一部分用户更新其浏览器才能真正开始在生产中使用ES6。

回顾过去:ES5在2009年底问世。尽管我已经在一些小型项目中使用ES5大约一年了,但我只是获得了许可开始在我的工作场所使用它,因为我们放弃了对不支持它的浏览器的支持。然而,我们的客户比一般人群更有限,更精通技术,在许多工作场所,ES3仍然是标准。

我想在浏览器上采用ES6需要花费相同的时间,这意味着未来3到4年(至少)浏览器开发人员将会生活在ES5世界中(变化将会很大)但是,对于Node来说更快。

此外,ES1-5的任何内容都不会消失。浏览器有一个严格的规则,即没有新版本的JavaScript可以向后兼容旧版本。 ECMAScript委员会致力于“1 JS”理念,或多或少的目标是,1995年编写的每一段JS代码都将在2015年运行。

因此,ES5或多或少只是ES6的一个子集。如果您首先学习ES5,那么您可以保持所有知识,并在开始学习ES6时添加它。我强烈建议您现在开始在ES3 / 5中获得良好的基础,并且当您的兴趣被激发时,请看看ES6中发生了什么。

答案 2 :(得分:0)

这些差异通常仅对使用大多数网站上不常使用的特定功能的用户才有意义。

如果你现在学习JavaScript,当ECMAScript6出局时你不会以任何方式丢失,它唯一的区别是会有新的功能,你可能会或可能不会发现对你的用例有用,并且您可以选择使用与否。

简而言之:不要限制你的学习,因为新版本会出现,不会对你产生任何负面影响。

编辑:事实上,firefox已经支持ECMAScript6的一些功能:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/ECMAScript_6_support_in_Mozilla