首页 > 解决方案 > Java Nashorn 和 ECMAScript 6 for..of:ECMAScript 异常:SyntaxError:预期;但发现

问题描述

for..of语法已在 ES6中引入。

它应该作为JEP 292的一部分从 JDK9 开始受到支持

但是,当我运行 OpenJDK 10's 时jjs,出现异常:

jjs> for (var foo of ['bar', 'baz']) { print(foo); }
ECMAScript Exception: SyntaxError: <shell>:1:13 Expected ; but found of
for (var foo of ['bar', 'baz']) { print(foo); }
             ^

标签: ecmascript-6java-9java-10

解决方案


默认情况下jjs支持 ECMAScript 5,这可以通过jjs使用标志--language=es6至少在 Java 9 上运行来解决。


推荐阅读