1. 程式人生 > >JavaScript基本包裝型別(自動裝箱和自動拆箱)(instanceof方法)

JavaScript基本包裝型別(自動裝箱和自動拆箱)(instanceof方法)

1)為了便於操作基本型別值,ECMAScript提供了3個特殊的引用類Boolean, Number, String每當讀取一個基本型別值的時候,後臺就會建立一個對應的基本包裝型別物件,從而可以使我們呼叫一些方法操作這些資料。

在建立變數s後(var s = "briup";)
後臺進行自動裝箱操作(var s = new String(briup);) 
在變數s呼叫String物件的方法操作後,後臺自動拆箱,變成String基本資料型別
s.substring(2);
console.log(typeof s);//基本資料型別內的String

綜上:

後臺會自動完成以下操作:
a.建立String型別的一個例項(var s = new String("briup");)
b.在例項上呼叫指定的方法(s.substring(2);)
c.銷燬這個例項

2)基本包裝型別的例項呼叫typeof返回”object”,從而所有基本包裝型別物件都會被轉換為布林型別的true.

Object建構函式會像工廠方法一些,根據傳入的值的型別返回相應基本包裝型別的例項
var obj = new Object("briup");//object型別 型別為String包裝型別
console.log(obj);//返回的是String型別的物件
console.log(obj instanceof String);//返回的是true
使用new呼叫基本包裝型別的建構函式,與直接呼叫同名的轉換函式不一樣      
var s = "11";
var s1 = Number(s); //轉型函式 number型別
var s2 = new Number(s); //建構函式 object型別

3)instanceof方法:檢測引用型別

檢測某個物件或例項是不是屬於某個型別或函式
返回值:true或者false
例:
var arr=[1,2,3];
console.log(arr instanceof Array);//true