我正在使用 sonarqube 分析我的代码,并且遇到以下代码的问题:
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 variable 的属性 - javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55812356/