在 Vue.js 中,如果你想要给变量 params 设置一个默认值,你可以使用逻辑 OR 运算符 (||
) 或空值合并运算符 (??
)。这两种方式都可以达到设置默认值的目的,但它们之间有一些细微的区别:
逻辑 OR 运算符 (||
)
逻辑 OR 运算符会返回第一个真值(truthy value)。如果左侧的操作数是假值(falsy value),则返回右侧的操作数。在 JavaScript 中,以下值被认为是假值:
false
0
""
(空字符串)null
undefined
NaN
这意味着如果 params 是上述任何一个假值,那么 params 将被设置为空字符串 ''。
cell.fullScreenImg = this.fullScreenPosters || '';
空值合并运算符 (??
)
空值合并运算符只在左侧的操作数是 null
或 undefined
时才返回右侧的操作数。如果左侧的操作数是任何其他值(包括 false
, 0
, ""
),它都会直接返回左侧的操作数。
cell.fullScreenImg = this.fullScreenPosters ?? '';
示例对比
假设 params 有以下几种情况:
undefined
:||
: params 将被设置为''
??
: params 将被设置为''
null
:||
: params 将被设置为''
??
: params 将被设置为''
false
:||
: params 将被设置为''
??
: params 将被设置为false
(保留原始值)
0
:||
: params 将被设置为''
??
: params 将被设置为0
(保留原始值)
""
(空字符串):||
: params将被设置为''
(空字符串被覆盖)??
: params 将被设置为""
(保留空字符串)
- 非空字符串:
||
: params 将被设置为非空字符串??
: params 将被设置为非空字符串