({})就是 js 中的对象,因为放在开头可能会被识别为代码块,所以加了括号。相等运算符==。对象会转化为原始数据类型,此处{}先后调用valueOf() 和 toString() 方法。Object.prototype.toString() 方法最终会返回诸如'[object Object]'形式的字符串。其中 Object 为{}的对象类型。所以为 true。
能考两个点 ({})不能写成{},是因为如果表达式开头是花括号,会被解析成代码块。如果不放开头不会 ({}) == '[object Object]' ,根据JS规范,符合标准相等比较的第九条“Type(x)是个Object,而Type(y)是Number或String其中一种时,进行ToPrimitive(x) == y比较”。所以隐式转换后为true
({})就是 js 中的对象,因为放在开头可能会被识别为代码块,所以加了括号。
相等运算符==。对象会转化为原始数据类型,此处{}先后调用valueOf() 和 toString() 方法。
Object.prototype.toString() 方法最终会返回诸如'[object Object]'形式的字符串。其中 Object 为{}的对象类型。
所以为 true。