在JavaScript中,typeof 0
給出了'number'
而不是'Number'
,但是instanceof 0 Number
。內置JavaScript類型名稱的例子
準確地說,內置類型的規範名稱是大寫的,小寫的typeof
的返回值是一個奇怪的/不一致的,由於歷史原因無法更改,但如果它改變可能?或者我錯過了什麼?
在JavaScript中,typeof 0
給出了'number'
而不是'Number'
,但是instanceof 0 Number
。內置JavaScript類型名稱的例子
準確地說,內置類型的規範名稱是大寫的,小寫的typeof
的返回值是一個奇怪的/不一致的,由於歷史原因無法更改,但如果它改變可能?或者我錯過了什麼?
不,
實際上number是內置值類型,其中Number是一個對象。
如果你說typeof沒有必要臨時轉換0到一個對象。
如果使用instanceof,它會暫時將0轉換爲對象。
這類似於你用繩子做什麼:
"sometest"
=>這是一個字符串
但是,如果你會做"sometest".toLowerCase()
它會先(暫時)的字符串轉換爲與字符串對象,然後調用該對象的方法(因爲值類型不能有方法)。
總之,小寫意味着價值型,大寫手段反對
不知道,但在JavaScript中的慣例是consructors用大寫字母開頭,並且編號是一個構造(或嚴格,是一個功能,可以被稱爲構造函數),因此是大寫字母。請注意'typeof new Number()'返回'object'。 :-) – RobG