首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何检测ECMAscript版本?

如何检测ECMAscript版本?
EN

Stack Overflow用户
提问于 2017-11-19 07:39:25
回答 4查看 29.4K关注 0票数 20

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

我已经找到了有关这个版本的相关信息,但是我找不到关于如何检测ECMAscript版本的具体答案。

谢谢是先进的。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-11-19 07:59:58

也许您可以尝试使用一些在ES6中专门添加的数据结构,如MapSet等。这是为了区分ES5ES6,但您可以查找在ES5中添加的特性,而在您的情况下,ES3中没有添加这些特性?

代码语言:javascript
运行
复制
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 :(")
}

票数 19
EN

Stack Overflow用户

发布于 2017-11-19 07:46:45

我认为这是不可能的,因为浏览器通常不会同时实现ECMAScript版本的所有功能。这就是为什么我们有像现代派这样的库和像我能用..。这样的网站来找出哪些特性可以使用。

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

票数 9
EN

Stack Overflow用户

发布于 2017-11-19 08:24:57

ECMAScript是一个行业标准:

ECMAScript是由ECMA-262和ISO/IEC 16262中的ECMAScript标准化的一种有商标的脚本语言规范。它的创建是为了标准化JavaScript,以促进多个独立的实现。

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

自标准首次发布以来,JavaScript一直是ECMAScript最著名的实现,其他著名的实现包括JScript和ActionScript。维基百科

考虑到JavaScript实现在各种浏览器、node.js等中的现状,没有人专门对自己进行版本化,而是不断地发展新特性。因此,最好的方法是检测,可能使用第三方库,如果功能需要存在,然后使用。否则就会回到更传统的模式。通常情况下,它是尝试一些操作,然后检查是否如预期,没有魔术。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47374678

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档