访问潜在 null/undefined 变量的 属性 - javascript

accessing property of potential null/undefined variable - javascript

我正在使用 sonarqube 分析我的代码,运行 遇到以下代码的问题:

var backtoyear = $('#backtoyear').val();

if (backtoyear != undefined || backtoyear.length > 0) {
   var currentyear = (new Date()).getFullYear();
   var numberofyears = currentyear - backtoyear;
}

backtoyear.length 变量导致 "TypeError can be thrown as "backtoyear" 此处可能为空或未定义。"因为它可能是 null/undefined,因此不会有任何属性。

我应该从 if 条件中删除 OR 的第二个 have 吗?

您可以简化以下语句,

if (backtoyear != undefined || backtoyear.length > 0) {

if (backtoyear) {

这更具可读性、效率和易懂性。

参考本规范ToBoolean