这就是我想要的:
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;
}