JavaScript 函数的默认值在 JS Fiddle 中抛出错误
Default value for JavaScript function throws error in JS Fiddle
我正在尝试定义一个简单的函数,例如:
function example(foo, bar = 'hello') {
console.log(bar);
}
example('hi');
JS Fiddle(在 运行 时查看控制台中的错误):
SyntaxError: Unexpected token '='. Expected a ')' or a ',' after a parameter declaration.
虽然 MDN 描述这在 IE 和 Safari 中不可用,但我的理解是包括 Babel 应该允许 ES 6 功能,或者这是一个误解?
仅仅包含 https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.13.2/babel.min.js
(babel-standalone) 作为脚本是不够的。您要么必须使用类型为 text/babel
的脚本标记,要么使用 Babel API 来编译您的代码 (Babel.transform()
)。参见 Usage in babel-standalone GitHub page。
然而,JS Fiddle 提供了一种使用 Babel 的更简单的方法。只需点击右上角的 "JavaScript",然后选择 Babel 作为语言。
看看这个。您的代码没有正确转译。
<script type="text/babel">
function example(foo, bar = 'hello') {
console.log(bar);
}
example('hi');
</script>
我正在尝试定义一个简单的函数,例如:
function example(foo, bar = 'hello') {
console.log(bar);
}
example('hi');
JS Fiddle(在 运行 时查看控制台中的错误):
SyntaxError: Unexpected token '='. Expected a ')' or a ',' after a parameter declaration.
虽然 MDN 描述这在 IE 和 Safari 中不可用,但我的理解是包括 Babel 应该允许 ES 6 功能,或者这是一个误解?
仅仅包含 https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.13.2/babel.min.js
(babel-standalone) 作为脚本是不够的。您要么必须使用类型为 text/babel
的脚本标记,要么使用 Babel API 来编译您的代码 (Babel.transform()
)。参见 Usage in babel-standalone GitHub page。
然而,JS Fiddle 提供了一种使用 Babel 的更简单的方法。只需点击右上角的 "JavaScript",然后选择 Babel 作为语言。
看看这个。您的代码没有正确转译。
<script type="text/babel">
function example(foo, bar = 'hello') {
console.log(bar);
}
example('hi');
</script>