WEB前端开发社区 2021-11-18基础因此,掌握该运算符的特点,对于写出好的代码,就会起到很大的帮助作用。 typeof operandtypeof(operand) 可能返回的类型字符串有:string, boolean, number, bigint, symbol, undefined, function, object。 返回类型将根据可能的返回类型,进行以下的分类介绍,对typeof的使用方法一网打尽。 string 和 boolean字符串、布尔值分别返回 string、boolean。 typeof '1' // 'string'typeof String(1) // 'string'typeof true // 'boolean'typeof Boolean() // 'boolean' number 和 bigint数字返回 number,包括 Number()、NaN 和 Infinity 等,以及 Math 对象下的各个数学常量值。 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函数返回 function。 function func () {}typeof func // 'function'typeof class cs {} // 'function'typeof String // 'function'typeof RegExp // 'function'typeof new Function() // 'function' object对象、数组、null、正则表达式,都返回 object。 typeof {} // 'object'typeof [] // 'object'typeof null // 'object'typeof /d/ // 'object'typeof Math // 'object'typeof new Number(1) // 'object' 其他关于其他大部分的 JavaScript关键字,得到的结果值都是 object 或 function。 除此以外,还有各js环境下具体实现的宿主对象。 常见问题引用错误在 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、数组、对象、正则 的类型。
其中,Object.prototype.toString.call 是javascript中用于准确判断数据类型的通用手段。 扩展:BigInt 类型BigInt 来自于 ES11 增加的一种最新的基础类型,可以用任意精度表示整数。 10nBigInt(99) // 99n 注意点:
喜欢此内容的人还喜欢 乾学院 不喜欢 确定 学一点会一点 不喜欢 确定 觉浅而躬行 不喜欢 确定 |
|