我正在使用声纳法分析我的代码,并遇到以下代码问题:
var backtoyear = $('#backtoyear').val();
if (backtoyear != undefined || backtoyear.length > 0) {
var currentyear = (new Date()).getFullYear();
var numberofyears = currentyear - backtoyear;
}
backtoyear.length
变量引起“可能引发TypeError,因为“ backtoyear”在此处可能为null或未定义。”因为它可能为null /未定义,因此将没有任何属性。我应该从if条件中删除OR的第二个条件吗?
最佳答案
您可以简化以下声明,
if (backtoyear != undefined || backtoyear.length > 0) {
至
if (backtoyear) {
这更具可读性,效率和可理解性。
请参考此规范ToBoolean
关于javascript - 潜在的null/undefined变量的访问属性-javascript,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55812356/