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时显示"--",而保留其他假值,那么使用??会更合适。
在实际应用中,选择哪个取决于你希望如何处理不同的假值。如果你不确定,通常使用||会更安全,因为它会覆盖所有假值的情况。
