Ecma-262(EcmaScript 5)会如何帮助您?

8

ECMAScript第五版,或称为Ecma-262,已经发布,并对语言进行了一些更改。新版本中的哪些功能将帮助您编写更好的代码?

4个回答

3
中的JSON对象看起来很棒。这将有所帮助,因为现在人们必须依赖不安全的eval()或一些缓慢的纯JavaScript实现,并且必须将它们与其余脚本一起包含。虽然没有原生支持,但新版本将会有。

1
ES3.1 做的很多其实是定义已经存在的行为,比如在 for (... in ...) ... 语句中的枚举顺序。因此,在某种程度上,这些事情不会直接帮助你(除非出现了新的 js 引擎)。
它还定义了一些新的函数,比如:
* prototype access -- i think through `getPrototype()` or something -- alas this isn't as powerful as `__proto__` present in JavaScriptCore and SpiderMonkey

* The JSON object to provide fast and safe JSON parsing rather than the conflagration of existing techniques

[编辑:针对抱怨IE的人,我相信IE8已经支持了上述功能]


1

“严格”模式在介绍中听起来很有前途,但是快速浏览附录C(第223页)让我怀疑它会有多少用处。


-2

遗憾的是,由于IE不支持任何新近五年内发布的标准,所以无法做出任何反应。


1
真的吗?难道IE在它们成为标准之前实现了XSL-T、SMIL和其他技术有什么关系吗? - Sergey Ilinsky
5
恭喜微软,您创立了一项最终成为标准的东西。但是,您仍然未能遵循其他人制定的现有标准,这已经困扰着网络开发人员多年。 - Deniz Dogan
我很幸运地使用了一种专有的服务器架构,它使用了最新版本的TraceMonkey,因此我能够使用其中的一些功能。但对于绝大多数开发人员来说,你是完全正确的。如果没有人能够使用它,那么如何能够增强他们的代码呢?+1 - Prestaul
1
来自 JScript 博客:然而,我们预计一旦它最终获得批准,修订后的 ECMAScript 标准将被浏览器广泛且相对迅速地采用。与此同时,这个新规范已经产生了影响。例如,在 IE8 中,本机 JSON 和 DOM 原型特性都基于 ECMAScript 第五版规范中定义的 API。 因此,ECMAScript 5 的一些功能已经在 IE8 中实现,预计在 IE9 中会有更多(即使不是完整的实现)。因此,“绝对没有任何东西”似乎相当不准确。 - Andy E
对于单词,将+1转换为true,但使用freeze()和seal()的不可变对象将具有逐渐降低的安全性优势。这意味着IE仍然存在安全漏洞。 - Fire Crow

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接