关于JavaScript中typeof用法

本文详细介绍了JavaScript中的数据类型检测方法,特别是如何使用typeof操作符来判断变量的数据类型,包括number、string、boolean、undefined、object及function等六大类型,并通过具体示例进行说明。

在JavaScript中,变量未经声明就使用,系统是会报错的。但是,typeof却是js中有且仅有的一个特例。

typeof的作用就是用来 区分数据的类型 的


首先,先说typeof的使用方法(语法)(以判断n的数据类型为例)

用法一:typeof(n)
用法二:typeof n


数据类型包括六大类:number、string、boolean、undefined、object、function


1.number

    console.log(typeof(123));  -- > number
    console.log(typeof(NaN));  -- > number
    console.log(typeof(0));    -- > number

2.string

    console.log(typeof('a'));  -- > string

3.boolean

console.log(typeof(false)); -- > boolean
console.log(typeof(true));  -- > boolean

4.undefined

两种情况:

  • 变量未声明时
    console.log(typeof(a));  -- > undefined
  • 变量的值就是undefined时
    var a = undefined;
    console.log(typeof(a));  -- > undefined

5.object

    var a = {};//对象
    console.log(typeof(a));   -- > object

    var b = [];//数组
    console.log(typeof(b));    -- > object

    console.log(typeof(null));  -- > object  //特殊的

6.function

    var a = function () {}; //函数/方法
    console.log(typeof(a)); -- > unfction

针对转换成布尔型是false的那六个

    console.log(typeof(undefined)); -- > undefined
    console.log(typeof(NaN));       -- > number
    console.log(typeof(""));        -- > string
    console.log(typeof(null));      -- > object
    console.log(typeof(false));     -- > boolean
    console.log(typeof(0));         -- > number

拓展:

console.log(typeof(a));         -- > undefinedconsole.log(typeof(undefined)); -- > undefined

但是

③   console.log(typeof(typeof(a)));  -- > string

可见,①式中,返回的undefined是一个字符串类型的。
③式就相当于是console.log(typeof('undefined')); -- > string

JavaScript 中,`typeof` 是一个操作符,用于返回一个表示数据类型的字符串。以下是其使用方法及示例: ### 基本语法 ```javascript typeof operand typeof(operand) ``` 其中,`operand` 是要检测的变量、值或表达式。这两种语法形式是等价的,但通常推荐使用第一种,因为它更简洁。 ### 返回值 `typeof` 可能返回以下几种不同的字符串: - `"number"`:当操作数是数字(包括整数、浮点数、NaN、Infinity 等)时返回。 ```javascript console.log(typeof 42); // "number" console.log(typeof 3.14); // "number" console.log(typeof NaN); // "number" console.log(typeof Infinity); // "number" ``` - `"string"`:当操作数是字符串时返回。 ```javascript console.log(typeof "Hello, World!"); // "string" ``` - `"boolean"`:当操作数是布尔值(`true` 或 `false`)时返回。 ```javascript console.log(typeof true); // "boolean" ``` - `"object"`:当操作数是对象(包括数组、日期、正则表达式等)、`null` 时返回。需要注意的是,`typeof null` 返回 `"object"` 是 JavaScript 语言的一个历史遗留问题。 ```javascript console.log(typeof { key: "value" }); // "object" console.log(typeof [1, 2, 3]); // "object" console.log(typeof null); // "object" ``` - `"function"`:当操作数是函数时返回。 ```javascript function greet() { console.log("Hello!"); } console.log(typeof greet); // "function" ``` - `"undefined"`:当操作数是未定义的变量、函数没有返回值时返回。 ```javascript let variable; console.log(typeof variable); // "undefined" function noReturn() {} console.log(typeof noReturn()); // "undefined" ``` - `"symbol"`:当操作数是 ES6 中引入的 Symbol 类型时返回。 ```javascript const sym = Symbol('description'); console.log(typeof sym); // "symbol" ``` ### 注意事项 - `typeof` 对于区分不同类型的对象(如数组、日期等)能力有限,因为它们都返回 `"object"`。如果需要更精确的类型检查,可以使用 `Object.prototype.toString.call()` 方法。 ```javascript console.log(Object.prototype.toString.call([1, 2, 3])); // "[object Array]" ``` - `typeof` 操作符不会抛出错误,即使操作数是未声明的变量,也会返回 `"undefined"`。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值