JS 中的一切都是对象。我一直都知道这一点,我完全理解这一点。我知道为什么{} !== {}
。这是两个不同的对象。就像你要写出来一样new Object() == new Object()
。
其他一些例子:
{} == {} // => false
[] == [] // => false
/ / == / / // => false
new String() == new String() // => false
但是,字符串也是对象(这就是你可以做''.replace()
和扩展它们的原因),所以为什么这样做:
'' == '' // => true
显然,如果这不起作用,比较两个字符串会很头疼,但这似乎与语言的其他部分不一致。在内部,发生了什么?它只是一次性的还是背后有其他概念?