空字符串检查评估错误

时间:2019-05-29 11:42:45

标签: javascript

我有一个条件检查空字符串,并且它没有按预期评估空字符串。

我一次读取一个字符的字符串:

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

1 个答案:

答案 0 :(得分:4)

表达式Number("")返回0,它是一个数字。由于s !== ''测试显然返回了true,因此必须s包含一个或多个空格字符的情况。 0函数也将它们转换为Number();即Number(" ")也是0