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