如何检测ECMAscript版本?

时间:2017-11-19 07:39:26

标签: javascript google-chrome ecmascript-5

我想查看我在浏览器中使用的ECMAscript版本(例如chrome 59),因为在处理RegExp内容时,ECMAscript3和ECMAscript5之间存在一些差异。
我已经找到了相关的相关信息,但我找不到有关如何检测ECMAscript版本的具体答案。
先谢谢了。

3 个答案:

答案 0 :(得分:7)

您可以尝试使用ES6中专门添加的一些数据结构,例如MapSet等。这是为了区分ES5和{{ 1}}但您可以查找ES6中添加的功能,这些功能在您的情况下ES5中不存在?

ES3

答案 1 :(得分:5)

我认为这是不可能的,因为浏览器通常不会立即实现ECMAScript版本的所有功能。这就是为什么我们有像Modernizr这样的图书馆和像Can I use ...这样的网站来找出可以使用的功能。

您仍然可以构建一个小测试来确定用户浏览器版本中RegEx的行为。

答案 2 :(得分:4)

ECMAScript是行业标准:

  

ECMAScript是一种商标脚本语言规范   由Ecma International在ECMA-262和ISO / IEC 16262中标准化   是为了标准化JavaScript而创建的,以便促进多重   独立实施。

Javascript是一种流行的实现,或多或少:

  

JavaScript仍然是最知名的   自标准首次发布以来ECMAScript的实施,   与其他众所周知的实现,包括JScript和   动作脚本。 wikipedia

考虑到各种浏览器,node.js等中JavaScript实现的当前状态,没有人专门对自己进行版本控制,但不断发展新功能。因此,最好的方法是检测(可能是第三方库)是否存在该功能然后使用。否则回归到更传统的一个。通常情况下,尝试一些操作,然后检查是否符合预期,没有魔力。