[英]Proper way to define default values for function arguments in JavaScript
自从我第一次遇到 JavaScript 以来,我一直使用默认值作为函数参数,例如:
function addToCartCallback3(responseData, toCartBtn = null) {
// ...
}
但我注意到,现在我PhpStorm警告我说,这是错误的,并经过toCartBtn
逗号,
或右括号)
的预期。
上面的代码在 Chrome 和 Firefox 中运行良好,但在 IE11 中杀死了所有 JavaScript。 (在 IE11 中,控制台告诉我与 PhpStorm 相同)
为什么这段代码是错误的,或者我应该使用什么?
我知道(typeof toCartBtn == 'undefined')
应该可以解决问题,但我真的很好奇为什么突然认为另一种方法在语法上是错误的。
正如所写,这仅适用于 ES6 浏览器,因为 ES6 将包含此语法作为默认值。 因此,在 IE11 上,您必须将默认值放在正文中:
function addToCartCallback3(responseData, toCartBtn) {
toCartBtn = toCartBtn || 'defaultHere';
}
请注意,如果默认值应该为 null,则不能使用默认值,因为在大多数情况下,未定义的参数与值为 null 的参数的行为方式相同。
为了让 PHPStorm 接受这个语法,请确保在File | Settings | Languages & Frameworks | JavaScript
中将JavaScript 语言版本设置为ECMAScript 6
。 File | Settings | Languages & Frameworks | JavaScript
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.