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

标签 javascript jquery sonarqube

我正在使用 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/

相关文章:

java - 避免使用 volatile 修复

sonarqube - 远程文件下载失败(org.sonar.runner.Bootstrapper.remoteContentToFile)

javascript - WP 中的 JSON 与 GET/POST 方法(安全问题)

javascript - Socket.io 无法在没有 Express 的情况下进行外部访问

javascript - 方向和方向面板未显示 google API

javascript jquery查找多个隐藏输入而没有特定属性

java - 如何在避免 Sonar 规则鱿鱼 :S2175 的同时检查 List<Class> 是否包含类

javascript - jQuery 'change' 事件

Javascript/jQuery 函数参数

jquery - 当从 DOM 中删除违规元素时,无效表单不会重新计算其有效性