我知道JS嚴格等號評估兩件事情: 平等和樣typednessJavaScript的怪誕 - typeof運算[] ===的typeof {}計算結果爲 '真'
Object.is()是最接近的比較我可以找到進一步的見解,並且在我的調查中沒有提供進一步的信息。
任何人都可以更好地解釋JS的內臟?數組是一個非常奇怪的對象實現嗎?所以他們是空的,並在這裏評估相同?
我很困惑,只是好奇。
我知道JS嚴格等號評估兩件事情: 平等和樣typednessJavaScript的怪誕 - typeof運算[] ===的typeof {}計算結果爲 '真'
Object.is()是最接近的比較我可以找到進一步的見解,並且在我的調查中沒有提供進一步的信息。
任何人都可以更好地解釋JS的內臟?數組是一個非常奇怪的對象實現嗎?所以他們是空的,並在這裏評估相同?
我很困惑,只是好奇。
typeof
返回操作數的原始類型。除了bools,數字,字符串,函數和未定義的東西外,這是對象。
雖然函數不是一種類型。 'typeof'很奇怪 – vkurchatkin
@vkurchatkin我的意思是,你可以試試看:'typeof function(){} ===「function」' –
是的,沒錯,但它不是一種類型。函數的實際類型是「對象」。 – vkurchatkin
數組是有一些附加的方法的對象 - MDN將它們定義爲「高層次,表狀物體」,並接着說:
數組是列表狀物體,其原型具有執行遍歷和變異操作的方法。
呃'typeof 0 === typeof 3'。所以呢? – Bergi
數組是對象(對整型屬性和特殊的'.length'屬性進行優化訪問) – Bergi
'typeof'只是一個查找表。見http://www.ecma-international.org/ecma-262/5.1/#sec-11.4.3。另一塊是所有不是原始值(數字,字符串,布爾值,空值,未定義)的對象。 –