我不知道我是否在问一个有效的问题,但我很好奇为什么PHP,JavaScript,Python对null的解释不同

Javascript:

console.log(null === 0); // Outputs false
console.log(null + 1); //Outputs 1 , why ? if null isn't equal to zero


的PHP

var_dump(null === 0);
// outputs boolean false

var_dump(null + 1);
// outputs int 1, why if null being not equals to zero ?


Python:

>>None == 0
>>false


由于python None是单例对象,因此添加它会导致错误


  TypeError:+不支持的操作数类型:“ NoneType”和“ int”


关于其他语言如何解释NULL的古玩?那应该是什么?
如果Null不等于Zero,为什么还要对其加法,其行为类似于Zero

最佳答案

您可以查看每种语言的类型比较表以获得一些理解。以下是您列出的3种语言的表格:


JS
PHP
Python


然后,您应该检查null(或None)如何转换为其他类型。

对于PHP:


(int)null0
(string)null''(空字符串)


对于JS:


null + 00null + 11,但是parseInt(null)NaN
null + '''null'并且String(null)'null'


目前无法在Python中对其进行检查。但是您会看到为什么它在PHP和JS中表现得如此。这种差异背后的原因可能更加复杂。

关于javascript - 什么是Null?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32201132/

10-12 00:47
查看更多