js中typeof的用法

本文详细介绍了JavaScript中的typeof运算符,包括其使用方法、返回值类型及示例代码。通过本篇文章,读者可以了解到如何利用typeof来判断变量的类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

typeof

typeof是一个运算符,有2种使用方式:typeof(表达式)和typeof 变量名,第一种是对表达式做运算,第二种是对变量做运算。

typeof的返回值

 typeof运算符的返回类型为字符串,值包括如下几种:     
    1. 'undefined'              --未定义的变量或值        
    2. 'boolean'                 --布尔类型的变量或值       
    3. 'string'                     --字符串类型的变量或值      
    4. 'number'                  --数字类型的变量或值        
    5. 'object'                    --对象类型的变量或值,或者null(这个是js历史遗留问题,将null作为object类型处理)       
    6. 'function'                 --函数类型的变量或值 

简单的示例

console.log(typeof a); //‘undefined’
console.log(typeof(true)); //‘boolean’
console.log(typeof ‘123’); //‘string’
console.log(typeof 123); //‘number’
console.log(typeof NaN); //‘number’
console.log(typeof null); //‘object’
var obj = new String();
console.log(typeof(obj)); //‘object’
var fn = function(){}; console.log(typeof(fn)); //‘function’
console.log(typeof(class c{})); //‘function’

arr, json, nul, date, reg, error 全部被检测为object类型,其他的变量能够被正确检测出来。
当需要变量是否是number, string, boolean, function, undefined, json类型时,可以使用typeof进行判断。其他变量是判断不出类型的,包括null。

在JavaScript中,typeof是一个用于检测变量类型的操作符。它返回一个字符串,表示给定变量的数据类型。typeof操作符可以用于检测多种类型的数据,包括undefined,string,number,boolean,object和function。但是需要注意的是,typeof操作符对于引用类型的数据(如数组、对象和null)的返回结果并不是很准确。例如,在引用中的示例代码中,使用typeof操作符检测一个通过构造函数创建的字符串对象,结果返回的是"object"而不是"string"。这是因为JavaScript将所有的引用类型都视为对象,包括由构造函数创建的字符串对象。因此,在使用typeof操作符时,我们需要注意它对于引用类型的数据的返回结果可能会有一些怪异的表现。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [Javascript中typeof 用法小结](https://download.csdn.net/download/weixin_38600696/13031627)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [JS中的typeof用法](https://blog.csdn.net/weixin_43995925/article/details/113932421)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值