[英]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.