首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >虽然启用了实验性js,但ECMA 6不工作

虽然启用了实验性js,但ECMA 6不工作
EN

Stack Overflow用户
提问于 2015-09-27 23:43:18
回答 3查看 21.3K关注 0票数 5

我有最新的Chrome版本(45和Chrome Canary的47版本),这两个版本都启用了实验Javascript标志。我想使用ECMA6,但它不起作用。我也不知道原因。是否有任何技巧或其他标志也必须启用?

在Chrome45中,ECMA6的每个保留字(如import、class或其他任何保留字)都会抛出“未捕获的SyntaxError:意外的保留字”错误,以及Chrome Canary中的“未捕获的SyntaxError:意外的令牌导入”错误。

如果有任何帮助,我将不胜感激。而且,因为我几个月前问过这个问题,没有得到任何答案,但可能是这个Using ECMAScript 6的“复制品”,所以它不是。它不能解决我的问题。

谢谢。

-编辑-我想使用模块,因为与使用Require或Common相比,我更喜欢ecma6模块。我也喜欢类的语法,代码看起来更好:)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-09-28 00:17:49

模块在任何浏览器中都不受本地支持。您将需要使用诸如TraceurBabel之类的转译器。看看以下内容之一,可以帮助您入门:

至于类,您可以在本地使用这些类,而不必通过转译器。您可以查看此处的兼容性表,了解目前哪些浏览器原生支持类:

https://kangax.github.io/compat-table/es6/

到目前为止,你可以看到大多数浏览器本身还不支持类。但是,如果您使用的是Babel或Traceur,这不应该是一个问题。

票数 8
EN

Stack Overflow用户

发布于 2017-08-24 16:35:24

type="module"添加到脚本标记中。这应该可以解决你的问题。

票数 8
EN

Stack Overflow用户

发布于 2015-09-28 00:13:36

这里有几个功能列表,告诉你Chrome45可以工作的功能。

Chrome功能状态:https://www.chromestatus.com/features

ES6兼容性列表:https://kangax.github.io/compat-table/es6/

你会发现很多特性,比如class糖的语法,在Chrome45中工作得很好,但是需要严格的模式才能启用。

例如,如果您在Chrome45或更高版本中运行使用class的jsFiddle,它将工作:http://jsfiddle.net/jfriend00/xd56k8n3/。如果您在严格模式之外运行它,它将报告Uncaught SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode

模块看起来不像它们在任何浏览器中都有支持。

仅供参考,现在用ES6编写代码的一种常见方法是使用像BabelTraceur这样的代码转换程序,您可以将ES6代码输入其中,然后它将其转换为在当前浏览器中运行的兼容ES5的代码。您可以使用ES6编写代码,但要与当前的浏览器兼容。

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

https://stackoverflow.com/questions/32809728

复制
相关文章

相似问题

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