我有一个条件检查空字符串,并且它没有按预期评估空字符串。
我一次读取一个字符的字符串:
isNumber(s: string) {
console.log('char', s);
if (s !== '' && !isNaN(Number(s))) {
console.log('is a number');
console.log('-------------');
return true;
}
console.log('NOT a number');
console.log('-------------');
}
从csv文件读取字符串:
a,b,
c,d,e
第三列第一行为空,但是即使我有s !== ''
的情况下,如果计算结果为true,我已经确认控制台的字符为空。为什么空字符串条件不起作用?
更新: 这会导致非空字符串吗?我用引号初始化变量,然后将其附加。
cellExtraction = '';
cellExtraction += s; // <- where s should be an empty string read from file
答案 0 :(得分:4)
表达式Number("")
返回0,它是一个数字。由于s !== ''
测试显然返回了true
,因此必须s
包含一个或多个空格字符的情况。 0
函数也将它们转换为Number()
;即Number(" ")
也是0
。