December 2011
1 post
2 tags
说说为什么 [] == ![] 为true
此前在微博上无意中看到有人问“为什么alert([] == ![])会是true?”,
刚看到这个问题我也说不上来究竟是什么原因,只知道这个肯定又是和==操作相关的类型转换问题。
于是,就翻开了“葵花宝典(ECMA-262-5th)”,你懂的。
在宝典的帮助下,我尝试着来解释下该问题的原因:
首先看看==这个操作内部是如何工作的
宝典中的关于==操作的工作描述如下(11.9.1):
The production EqualityExpression: EqualityExpression == RelationalExpression is evaluated as follows:
1. Let lref be the result of evaluating EqualityExpression
2. Let lval be...