我正在处理的代码库包含了javascript'默认运算符'的许多用途。如:
var x = y || false;
我想知道最好的替代品是什么,以保证价值永远不会定义,null等。我应该用" false"并检查字符串?我应该用他们的长手对应替换它们(显式检查null和undefined)?或者是否需要针对我未考虑的事项评估每个用例?
答案 0 :(得分:1)
当您的输入可能是有效的假值时设置非虚假默认值,一种方法是进行两次测试
if (!x && x !== 0) {
x = 1; // 1 is the default value but 0 is a valid input
}
这样做的好处是你可以排除无效的虚假值,例如: NaN
这就是说,你最好不要进行铸造或打字检查
if (typeof x !== 'number') x = 1;
或
x = +x;
if (x !== x) x = 1; // NaN goes to default