使用typeof和length检查变量

时间:2017-06-25 14:25:31

标签: javascript reactjs ecmascript-6

我看到有人这样做了

if(typeof myVar === 'string' && myVar.length > 0) {

}

为什么不只是if(myVar) {} ??

我使用typeof进行调试,从不在现实生活中使用它。

2 个答案:

答案 0 :(得分:0)

if(myVar){}),不检查myVar的值是否为字符串

typeof myVar === 'string'帮助你做到这一点。

myVar.length > 0用于检查myVar是否有一些字符,但它并非万无一失,因为即使空格也算作字符。例如:

让x ='';

然后x.length是2

希望这有帮助。

答案 1 :(得分:0)

这是一个争论。

如果您编写代码,并且您知道“myVar是一个字符串”,那么您的陈述就足够了

if(myVar){}

但是如果mnks调用你的代码,或者任何不了解预期数据类型的人,你必须检查变量的类型和其他东西。在这种情况下,您必须使用===而不是==因为当typeof函数返回非字符串值时会发生什么?

疯狂的世界