JavaScript ||初始化值

说明

|| 逻辑或运算符,常用来初始化函数的参数,如果没有传递形参,就赋默认值

原理

console.log(0||1); // 0表示false,返回 || 后面的值
console.log(2||1); // 2表示true,返回 || 前面的值
console.log(''||'b'); // ''表示false,返回 || 后面的值
console.log('a'||'b'); // 'a'表示true,返回 || 前面的值

console.log(0||''); // 0 和 '' 都是false,也直接返回|| 后面的值
console.log(''||0); // '' 和 0 都是false,也直接返回|| 后面的值

执行结果:

1
2
b
a
  // 空字符串
0

总结:

  1. 只要 || 前面为 false,直接返回 || 后面的值
  2. 只要 || 前面为 true,直接返回 || 前面的值

初始化参数

function test(options){

    console.log("options:",options)
    // 如果 options 是空,即:表示false,就执行 || 后面的部分,即:options = { },给option是赋值对象
    options || (options = { })
    console.log("options:",options)

    // 如果 options 中没有 name属性,或name的值是空,就执行 || 后面的部分,给name赋值 ''
    name = options.name || ''
    console.log("name:",name)
}

调用时没有传值

test()

参考:
https://www.runoob.com/w3cnote/javascript-or-and-and.html


原文出处:/show_1IX8YzbO8zyf.html