困惑的javascript新手可能是一个非常基本的问题...

为什么

var hasthisvalue = null;
if (hasthisvalue)
    print("hasthisvalue hs value");




var hasthatvalue = "";
if (hasthatvalue)
    print("hasthatvalue has value");


什么都不打印,但是如果我将两者结合起来

var combined = "hasthisvalue" + "hasthatvalue";
if (combined)
    print ("combined has value");


是吗?

或更直接地:

var combined = null + "";
if (combined)
    print ("combined has value");


如果仅添加两个没有值的变量,为什么“组合”具有值?我想念什么?

最佳答案

当您分别比较它们时,它们在false检查中都转换为if。当您组合它们时,null成为字符串"null",因此它们的串联是字符串"null",它不会转换为false

关于javascript - 为什么var Combined = null +“”具有值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10773778/

10-11 12:30