typeof
操作符
typeof
用於獲取一個變量的數據類型。它會返回一個表示類型的字符串。例如:typeof
對於基本數據類型通常很有用,但對於物件和類,typeof
可能不會返回很有用的信息。instanceof
操作符
instanceof
用於檢查一個對象是否是一個特定類型的實例,或者說,一個對象是否是一個構造函數的實例。它會返回一個布爾值。例如:舉個例子,如果你有一個自定義的構造函數:
使用
instanceof
可以檢查 myInstance
是否是 CustomType
的實例:區別
- 用途和返回值:
typeof
用於獲取變量的數據類型,返回一個字符串。instanceof
用於檢查對象是否是一個特定類型的實例,返回一個布爾值。
- 對於基本類型和物件的處理:
typeof
更適合用於檢查基本數據類型。instanceof
更適合用於檢查對象是否屬於特定的類型或構造函數的實例。
- 對於
null
和物件: typeof null
會返回 "object"。null instanceof Object
會返回false
。
- 原型鏈:
instanceof
會考慮原型鏈。如果一個對象是一個類型的實例,那麼它也會被認為是該類型原型鏈上的所有類型的實例。typeof
不會考慮原型鏈,它僅僅返回一個表示變量類型的字符串。