我想查看我在浏览器中使用的ECMAscript版本(例如chrome 59),因为在处理RegExp内容时,ECMAscript3和ECMAscript5之间存在一些差异。
我已经找到了相关的相关信息,但我找不到有关如何检测ECMAscript版本的具体答案。
先谢谢了。
答案 0 :(得分:7)
您可以尝试使用ES6
中专门添加的一些数据结构,例如Map
,Set
等。这是为了区分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实现的当前状态,没有人专门对自己进行版本控制,但不断发展新功能。因此,最好的方法是检测(可能是第三方库)是否存在该功能然后使用。否则回归到更传统的一个。通常情况下,尝试一些操作,然后检查是否符合预期,没有魔力。