我可以声明默认参数吗
function myFunc( a, b=0) { // b is my optional parameter }
在 JavaScript 中?
使用 ES6: 这现在是语言的一部分:
function myFunc(a, b = 0) { // function body }
请记住,ES6 会根据undefined而不是根据真实性检查值(因此只有真正的未定义值才能获得默认值 - 像 null 这样的虚假值不会默认)。
undefined
使用 ES5:
function myFunc(a,b) { b = b || 0; // b will be set either to b or to 0. }
只要您明确传入的所有值都是真实的,这就会起作用。根据 MiniGod 的评论,不真实的价值观:null, undefined, 0, false, ''
null, undefined, 0, false, ''
在函数实际启动之前,看到 JavaScript 库对可选输入进行大量检查是很常见的。