我以前认为这两个作业a = "foo"和a = new String('foo')是同一个东西。但是对于前一个声明,console.log(a instanceof Object)或console.log(a instanceof String)返回false,而它返回后者的预期true。
这看起来很奇怪,原因有两个。首先,即使是普通的声明a = 'foo',所有的字符串方法都在它上面工作,这表明它是从String对象继承的。其次,a.constructor返回String。
任何人都可以解释发生了什么吗?