爲什麼0 < undefined
返回false
而不是未定義?爲什麼0 <undefined返回false而不是undefined?
基礎上ES6規範http://www.ecma-international.org/ecma-262/6.0/#sec-abstract-relational-comparison的抽象關係比較部分,我認爲它應該返回undefined。 (請點擊規格明白我在說什麼)
我並不完全瞭解ReturnIfAbrupt一部分,但它似乎並不像應該停止比較。然後我把3和4解釋爲基本上說,因爲它使用了一個<標誌,而不是一個>標誌,然後繼續下去。它應該忽略5,因爲0和undefined都不是字符串。
所以後來就6.它說,0轉換爲數字,即0和未定義轉換爲數字應爲NaN按照http://www.ecma-international.org/ecma-262/6.0/#sec-tonumber
自從1207美國「紐約如果是NaN,返回undefined 「那麼我爲什麼會得到錯誤而不是不確定?在Chrome,Safari和Firefox中的結果是相同的,所以我假設所有3個瀏覽器都不解釋規範錯誤。
FWIW'0的NaN === FALSE'。我的猜測是''<' and '>運算符返回布爾結果要麼是TRUE;或'FALSE'和'undefined'不僅不是一個值(它是一個變量),但也不能在一組布爾 –
slebetman
的BTW,最新的規範是[* ECMAScript 2016 *](http://www.ecma-international.org/ecma-262/7.0/index.html),它是ed 7.在今年年中ECMAScript ed 8 aka 2017將會被釋放。 – RobG