gpt4 book ai didi

javascript - 如何使零数值算作真值?

转载 作者:行者123 更新时间:2023-11-27 23:04:01 26 4
gpt4 key购买 nike

在过去的几周里,我发现自己一遍又一遍地遇到同样的问题,那就是在未设置第一个值的情况下使用 || 运算符分配默认值时:

(myVariable || 'somestring')

每当myVariable不是0时,这都有效,但如果它是0,那么它就会出现问题,因为它会对其进行计数作为虚假值。这可以通过检查它是否为零来解决,但它很快就会变得难以阅读,例如 (myVariable >= 0 ? myVariable : 'somestring')

允许 myVariable0 但仍算作真值的最简单、最正确的方法是什么?请注意,myVariable 必须仍然是原始值,因此使用 !! 运算符将不起作用。

最佳答案

仅包含逻辑运算符的解决方案:

function getValue(v) {
return v !== 0 && (v || 'someString') || 0;
}

document.write(getValue(null) + '<br>');
document.write(getValue(false) + '<br>');
document.write(getValue(undefined) + '<br>');
document.write(getValue(0) + '<br>');
document.write(getValue(1) + '<br>');
document.write(getValue('42') + '<br>');

另一个提案

function getValue(v) {
return v || v === 0 ? v : 'someString';
}

document.write(getValue(null) + '<br>');
document.write(getValue(false) + '<br>');
document.write(getValue(undefined) + '<br>');
document.write(getValue(0) + '<br>');
document.write(getValue(1) + '<br>');
document.write(getValue('42') + '<br>');

关于javascript - 如何使零数值算作真值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36768442/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com