天天看點

《JavaScript啟示錄》——1.19 驗證對象是否是特定構造函數的執行個體

本節書摘來自異步社群《javascript啟示錄》一書中的第1章,第1.19節,作者:【美】cody lindley著,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視

通過使用instanceof操作符,可以确定(true或false)一個對象是否是特定構造函數的執行個體。

如下代碼,要驗證的是instanceofcustomobject對象是否是customconstructor構造函數的執行個體。它适用于使用者自定義對象,同時也适用于用new操作符建立的原生對象。

注意

使用instanceof操作符時需要注意的一件事情是,任何時間判斷一個對象是否是object的執行個體時,它都将傳回true,因為所有對象都繼承自object()構造函數。

原始值使用對象包裝器,判斷執行個體時(如 'foo' instanceof string //傳回false),instanceof操作符将傳回false。如果使用new操作符建立字元串 'foo',instanceof操作符會傳回true。是以,請記住,instanceof隻适用于構造函數建立傳回的複雜對象和執行個體。

繼續閱讀