js中 没值用 ??还是||
实际上,{{element?.value ?? "--"}}
和 {{element?.value || "--"}}
在功能上是相似的,但它们在处理值时有一些细微的差别:
-
空值合并运算符(
??
):- 它只在左侧的表达式严格等于
null
或undefined
时才返回右侧的值。 - 这意味着如果
element?.value
是任何其他假值(如0
、""
、false
、NaN
),这些值会被保留并返回,而不是被替换为"--"
。
- 它只在左侧的表达式严格等于
-
逻辑或运算符(
||
):- 它在左侧的表达式为假值(包括
null
、undefined
、0
、""
、false
、NaN
)时返回右侧的值。 - 这意味着如果
element?.value
是任何假值,都会被替换为"--"
。
- 它在左侧的表达式为假值(包括
因此,如果你希望在element?.value
为0
、空字符串""
、false
或NaN
时也显示"--"
,那么使用||
会更合适。如果你只希望在element?.value
为null
或undefined
时显示"--"
,而保留其他假值,那么使用??
会更合适。
在实际应用中,选择哪个取决于你希望如何处理不同的假值。如果你不确定,通常使用||
会更安全,因为它会覆盖所有假值的情况。