如何检测 ECMAscript 版本?

新手上路,请多包涵

我想看看我在浏览器中使用的 ECMAscript 版本(例如,chrome 59),因为在处理 RegExp 内容时 ECMAscript3 和 ECMAscript5 之间存在一些差异。

我找到了这方面的相关信息,但找不到关于如何检测 ECMAscript 版本的具体答案。

先谢谢了。

原文由 jacky 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 886
2 个回答

May be you can try to use some data structures that are specifically added in ES6 like Map , Set etc. This is to differentiate between ES5ES6 但您可以查找在 ES5 中添加的功能,这些功能在 ES3 中不存在 --- 在您的情况下?

 try {
  var k = new Map();
  console.log("ES6 supported!!")
} catch(err) {
  console.log("ES6 not supported :(")
}

try {
  var k = new HashMap();
  console.log("ES100 supported!!")
} catch(err) {
  console.log("ES100 not supported :(")
}

原文由 Nandu Kalidindi 发布,翻译遵循 CC BY-SA 3.0 许可协议

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

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

原文由 Niklas Higi 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题