var x = y ||的最佳替代品假

时间:2015-03-01 21:55:44

标签: javascript

我正在处理的代码库包含了javascript'默认运算符'的许多用途。如:

var x = y || false;

我想知道最好的替代品是什么,以保证价值永远不会定义,null等。我应该用" false"并检查字符串?我应该用他们的长手对应替换它们(显式检查null和undefined)?或者是否需要针对我未考虑的事项评估每个用例?

1 个答案:

答案 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