价值|| '-', 也显示 0

Value || '-', show 0 too

我有一个用例,我正在显示来自 API 的数据。如果该字段没有数据,我将显示一个连字符。在某些情况下,API returns 0 作为值,UI 仍会显示连字符。

const value = APIValue || '-'

在上面的例子中,当输入为 0 时,我们如何显示 0 而不是连字符?

如果您需要一个数字,您可以使用 isNan 或类型检查变量:

const APIValue = 0;
const value = !isNaN(APIValue) ? APIValue : '-'

console.log(value)

const APIValue = 0;
const value = typeof APIValue === "number" ? APIValue : "-";
console.log(value)

如果您只想让变量有任何值,您应该检查它是否为空,因为这也会捕获未定义的值:

const APIValue = 0;
const value = APIValue != null ? APIValue : "-";
console.log(value)

使用 null coalescing operator 或添加如下:

If(APIValue === 0)
     return 0;
else
     return APIValue || '-'

您可以使用三元运算符:

const value = APIValue || ((APIValue === 0) ? 0 : '-')

试试这个:

const value = (APIValue == null ? '' : APIValue.toString()) || '-';