摘要:中關于類型的判斷有很多種方法,這里介紹兩種常用的。操作符返回一個字符串,表示未經計算的操作數的類型。正因為不能準確判斷一個對象變量,所以需要下面一種方法使用上的原生方法判斷數據類型可以將這樣的一長串代碼封裝成檢測類型的方法
javascript中關于類型的判斷有很多種方法, 這里介紹兩種常用的。
typeof
typeof操作符返回一個字符串,表示未經計算的操作數的類型。
console.log(typeof 12); // number console.log(typeof "hello"); // string console.log(typeof true); // boolean
在MDN中, typeof的用法記錄的很詳細。
這里有個js的關鍵點, 即typeof null == object。 null 不是一個對象,盡管 typeof null 輸出的是 object,這是一個歷史遺留問題,JS 的最初版本中使用的是 32 位系統,為了性能考慮使用低位存儲變量的類型信息,000 開頭代表是對象, null 表示為全零,所以將它錯誤的判斷為 object 。
正因為typeof不能準確判斷一個對象變量, 所以需要下面一種方法
Object.prototype.toString.call
使用Object.prototype上的原生toString()方法判斷數據類型
console.log( Object.prototype.toString.call( "hello" )) // [object String] console.log( Object.prototype.toString.call( 1 )) // [object Number] console.log( Object.prototype.toString.call( [1, 2, 3] )) // [object Array] console.log( Object.prototype.toString.call( null )) // [object Null]
可以將這樣的一長串代碼封裝成檢測類型的方法
let isType = type => obj => { return Object.prototype.toString.call( obj ) === `[object ${type}]` } isType("String")("123"); // true isType("Array")([1, 2, 3]); // true isType("Number")(1); // true
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/104328.html
摘要:最近開始看源碼,并將源碼解讀放在了我的計劃中。今天就跟大家聊一聊中一些常用類型檢查方法,以及一些工具類的判斷方法。用是否含有屬性來判斷工具類判斷方法接下來看下一些常用的工具類判斷方法。 Why underscore 最近開始看 underscore.js 源碼,并將 underscore.js 源碼解讀 放在了我的 2016 計劃中。 閱讀一些著名框架類庫的源碼,就好像和一個個大師對話...
摘要:摘要這篇文章講述運算符判斷基本類型和引用類型的區別,以及怎么判斷數組類型和空對象有種原始類型,即和。類型判斷類型判斷,一般就是判斷是否是數組,是否是空對象。方法四使用語法,返回一個數組,只需要判斷數組長度是否大于即可。 摘要 這篇文章講述typeof運算符判斷基本類型和引用類型的區別,以及怎么判斷數組類型和空對象 typeof ECMAScript 有 5 種原始類型(primitiv...
摘要:中九個內置對象在規范中定義了六種數據類型其中原始值類型有種,引用類型有種一有包裝對象數值型,包括整形和浮點型其中都是類型二有包裝對象字符串類型,有兩種表示方式,雙引號單引號。方法可以將任意類型數據轉成字符串。 JS中九個內置對象 showImg(https://segmentfault.com/img/bV6iZG?w=481&h=411); 在ECMAScript規范(ES5)中定義...
摘要:最常見的判斷方法它的官方解釋操作符返回一個字符串,表示未經計算的操作數的類型。另外,是判斷對象是否屬于某一類型,而不是獲取的對象的類型。多個窗口意味著多個全局環境,不同的全局環境擁有不同的全局對象,從而擁有不同的內置類型構造函數。 js中的數據類型 js中只有六種原始數據類型和一個Object: Boolean Null Undefined Number String Symbol ...
摘要:內置函數和對象中內置了一些函數和對象,很多語言都會有內置的方法,直接可以調用開發。根據語法標準提供的內置函數包括和。注意基礎語法提供的內置函數和方法只有這些,像那是瀏覽器提供給我們的。強制類型轉換大家應該都知道。 js基礎 - 變量 *大家對js一定不會陌生,入門很簡單(普通入門),很多人通過網絡資源、書籍、課堂等很多途徑學習js,但是有些js基礎的只是往往被大家遺漏,本章就從js變量...
閱讀 2338·2021-11-24 11:16
閱讀 2022·2021-09-30 09:47
閱讀 1997·2021-09-10 10:51
閱讀 1316·2019-08-30 14:08
閱讀 3133·2019-08-30 13:47
閱讀 1522·2019-08-30 13:02
閱讀 3227·2019-08-29 12:29
閱讀 3179·2019-08-26 17:05