面试题答案
一键面试- 对象到布尔值转换规范:
- 在JavaScript中,当将一个对象转换为布尔值时,遵循ECMAScript规范。根据规范,所有对象(包括空对象
{}
)在转换为布尔值时,结果都为true
。这是因为对象被认为是“真值”。
- 在JavaScript中,当将一个对象转换为布尔值时,遵循ECMAScript规范。根据规范,所有对象(包括空对象
- 底层逻辑:
Boolean({})
调用了内部的ToBoolean
抽象操作。对于对象,ToBoolean
操作直接返回true
。这是JavaScript语言设计中定义好的转换逻辑,目的是让对象在布尔上下文(如if
语句条件判断等)中,通常表现为“真值”。所以当执行console.log(Boolean({}))
时,Boolean
函数将对象{}
按照上述规则转换为布尔值true
,最终控制台输出true
。