基本包裝型別有number、boolean、string三種。主要用途是擴充套件基本資料型別number、boolean、string的功能。因為這些基本資料型別本身不具備任何方法。
在基本資料型別操作時,比如:
"abc".substr(0, 2)
在執行這段**時,實際上"abc"是乙個基本資料型別,本身並沒有方法存在。後台是做了一些包裝的操作,上面的**實際上是:
let s = new string("abc")
s.substr(0, 2)
s = null
這個包裝在使用完後也會立刻被清除。
要注意的地方:
let v = "88"
let number = number(v)
console.log(typeof number) // number
let obj = new number(v)
console.log(typeof number) // object
解析:
上面的number(v)只是將string轉換成number基本型別。
下面的new number(v)是new關鍵字將number當成建構函式來生成物件並返回。
也可以得知number方法的返回值是乙個基本資料型別,而new關鍵字的特性導致不會使用到這個返回值
基本包裝型別
好久之前看的高程,最近有些忘記了,疑惑基本包裝型別存在的意義,下面總結一下 為了便於操作基本型別,ecmascript提供了三個特殊的引用型別 boolean number string。實際上,每當讀取乙個基本型別值的時候,後台就會建立乙個對應的基本包裝型別的物件,從而讓我們能夠呼叫一些方法來操作...
基本包裝型別
為了便於操作基本資料型別,提供了三個特殊的引用型別,boolean,number和string,這些型別和其他引用型別相似,但是同時也具備和自己相應的資料型別的特殊行為,實際上每當讀取乙個基本型別的數值後,後台都會為我們建立對應的基本包裝型別的物件,從而能夠呼叫一些方法處理這些資料。var box ...
基本包裝型別
基本包裝型別 兩個原則 普通變數不能直接呼叫屬性或者方法 物件可以直接呼叫屬性和方法 基本包裝型別 本身是基本型別 number,string,boolean 但在執行 中,如果這種型別的變數呼叫了屬性或者是方法 那麼這種型別就不再是基本型別而是基本包裝型別 注意 如果是乙個物件 true,結果是t...