Google Script中if语句误将0识别为空值的问题排查
问题原因与解决方案
为什么0会触发判断?
这是JavaScript中**宽松相等运算符(==)**的类型转换机制导致的:
当用==比较数字类型的0和字符串类型的''时,JavaScript会自动将空字符串转换为数字0,此时0 == 0的比较结果为true,因此你的判断条件会被误触发。
修复方案
最简洁且准确的修复方式是改用严格相等运算符(===),它不会进行隐式类型转换,只有当值和数据类型完全一致时才会返回true。修改后的代码如下:
for (x = i; x < fullDataArray.length; x++) { if (fullDataArray[x][8] === '') { Logger.log(fullDataArray[x][8]) break; } // 其他逻辑... }
不需要额外添加对0的检查,===已经能准确区分0和空字符串''。
内容的提问来源于stack exchange,提问作者Michael Liew
相关产品推荐
相关产品推荐

