WEB前端開發(fā)社區(qū) 2021-11-18基礎因此,掌握該運算符的特點,對于寫出好的代碼,就會起到很大的幫助作用。 typeof operandtypeof(operand) 可能返回的類型字符串有:string, boolean, number, bigint, symbol, undefined, function, object。 返回類型將根據(jù)可能的返回類型,進行以下的分類介紹,對typeof的使用方法一網(wǎng)打盡。 string 和 boolean字符串、布爾值分別返回 string、boolean。 typeof '1' // 'string'typeof String(1) // 'string'typeof true // 'boolean'typeof Boolean() // 'boolean' number 和 bigint數(shù)字返回 number,包括 Number()、NaN 和 Infinity 等,以及 Math 對象下的各個數(shù)學常量值。 typeof 1 // 'number'typeof NaN // 'number'typeof Math.PI // 'number'typeof 42n // 'bigint'typeof BigInt(1) // 'bigint' symbolsymbol 值返回 symbol,包括 Symbol()。 typeof Symbol() // 'symbol'typeof Symbol('foo') // 'symbol'typeof Symbol.iterator // 'symbol'undefinedundefined 本身返回 undefined。 typeof undefined // 'undefined'typeof ttttttt // 'undefined'typeof document.all // 'undefined' function函數(shù)返回 function。 function func () {}typeof func // 'function'typeof class cs {} // 'function'typeof String // 'function'typeof RegExp // 'function'typeof new Function() // 'function'object對象、數(shù)組、null、正則表達式,都返回 object。 typeof {} // 'object'typeof [] // 'object'typeof null // 'object'typeof /d/ // 'object'typeof Math // 'object'typeof new Number(1) // 'object'其他關于其他大部分的 JavaScript關鍵字,得到的結果值都是 object 或 function。 除此以外,還有各js環(huán)境下具體實現(xiàn)的宿主對象。 常見問題引用錯誤在 let 和 const 塊級作用域變量定義之前,使用 typeof 會拋錯 ReferenceError。 typeof tlet t = 1// VM327:1 Uncaught ReferenceError: t is not defined// at <anonymous>:1:1 如果是使用 var 定義變量,不會報錯,返回 undefined 。 typeof null對于 typeof null === 'object' ,記住即可,可能的解釋: typeof 的局限性typeof 的局限性,在于無法精確判斷出 null、數(shù)組、對象、正則 的類型。
其中,Object.prototype.toString.call 是javascript中用于準確判斷數(shù)據(jù)類型的通用手段。 擴展:BigInt 類型BigInt 來自于 ES11 增加的一種最新的基礎類型,可以用任意精度表示整數(shù)。 10nBigInt(99) // 99n 注意點:
喜歡此內容的人還喜歡 乾學院 不喜歡 確定 學一點會一點 不喜歡 確定 覺淺而躬行 不喜歡 確定 |
|
|