Javascript:如何连接2个值,将未定义或null值视为空



这就是我想要的:

var str = data + unit; // data:"2", unit: "rem", I want str: "223"
var str = data + unit; // data:"2", unit: null, I want  str: "2"
var str = data + unit; // data:"2", unit: undefined, I want  str: "2"
var str = data + unit; // data:undefined, unit: "rem", I want str: "rem"

每行的注释中都给出了输入和输出值。普通串联附加";未定义的";作为文字字符串。我希望未定义和空值被视为空字符串

您可以使用nullish合并运算符将null或undefined转换为空字符串。

var str = (data ?? "") + (unit ?? "");

为了更好地支持浏览器,您可能需要使用逻辑或运算符。

var str = (data || "") + (unit || "");

您可以使用函数

const checkValue = value => value ? value :  '';
console.log(checkValue(null) + checkValue(null)) // ''

您可以在连接之前检查单元。如果它的值未定义或为null,则将其设置为空,或者您想要的任何值。然后可以进行连接。

function concatenate(data, unit) {
if(unit == undefined || unit == null) {
unit = "";
}
return data + " " + unit;
}

最新更新