在 JavaScript 中,判斷資料型別的方法有三種:typeof 運算子傳回一個表示變數資料型別的字串。 instanceof 運算子檢查一個物件是否屬於一個特定的建構子。 Object.prototype.toString.call 方法傳回一個表示變數類型的字串,比 typeof 更準確。
如何判斷 JavaScript 中的資料型別
在 JavaScript 中,判斷資料型別是個常見任務。以下介紹幾種常用方法:
typeof 運算子
typeof
運算子傳回一個字串,表示變數的資料類型。它是最簡單的方法,但它不能區分某些類似的資料類型。
語法:
<code>typeof variable;</code>
例如:
<code>console.log(typeof "Hello"); // "string" console.log(typeof 123); // "number" console.log(typeof true); // "boolean" console.log(typeof null); // "object" (错误地识别为对象)</code>
instanceof 運算子
instanceof
運算子檢查一個物件是否屬於一個特定的建構函數。它對於區分數組、函數和日期物件等複雜資料類型非常有用。
語法:
<code>variable instanceof constructor;</code>
例如:
<code>console.log([] instanceof Array); // true console.log(function() {} instanceof Function); // true console.log(new Date() instanceof Date); // true</code>
#Object.prototype.toString.call 方法
Object.prototype .toString.call
方法傳回一個表示變數類型的字串。它比typeof
運算子更準確,可以區分數組、函數和日期物件。
語法:
<code>Object.prototype.toString.call(variable);</code>
例如:
<code>console.log(Object.prototype.toString.call([])); // "[object Array]" console.log(Object.prototype.toString.call(function() {})); // "[object Function]" console.log(Object.prototype.toString.call(new Date())); // "[object Date]"</code>
#注意事項
typeof
運算符會錯誤地將null
識別為物件。 instanceof
運算子不能區分原生建構子和自訂建構子。 Object.prototype.toString.call
方法可以提供更準確的資料類型信息,但它的語法相對複雜。 以上是js中判斷資料型別的方法有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!