Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

js 获取对象类型

作者:仅限对你关心   发布日期:2025-04-22   浏览:45

// 获取对象类型的几种常见方法

// 1. 使用 typeof 操作符
// typeof 可以用来获取基本数据类型,但对于对象会返回 "object"
console.log(typeof null); // "object"
console.log(typeof {});   // "object"
console.log(typeof []);   // "object" (在 JavaScript 中数组是对象)

// 2. 使用 Object.prototype.toString.call 方法
// 这是最可靠的方法来获取对象的具体类型
function getType(obj) {
    return Object.prototype.toString.call(obj).slice(8, -1);
}

console.log(getType(null));       // "Null"
console.log(getType(undefined)); // "Undefined"
console.log(getType([]));        // "Array"
console.log(getType({}));        // "Object"
console.log(getType(123));       // "Number"
console.log(getType("hello"));   // "String"
console.log(getType(true));      // "Boolean"
console.log(getType(function(){})); // "Function"

// 3. 使用 instanceof 操作符
// instanceof 用于检查对象是否是某个构造函数的实例
let arr = [];
console.log(arr instanceof Array); // true
console.log(arr instanceof Object); // true (因为数组也是对象)

// 注意:instanceof 对于基本数据类型和 null/undefined 不适用
console.log(123 instanceof Number); // false
console.log(null instanceof Object); // false

解释说明:

  • typeof 是一个简单但不完全可靠的操作符,对于大多数基本类型(如 number, string, boolean)都能正确识别,但对于 null 和对象(包括数组、函数等)都会返回 "object"
  • Object.prototype.toString.call() 是一种更精确的方法,可以区分不同的对象类型,如数组、日期、函数等。
  • instanceof 用于检查对象是否是某个构造函数的实例,但它不能用于基本数据类型或 nullundefined

上一篇:js 判断对象类型

下一篇:js 查看对象类型

大家都在看

js 数组对象排序

js 数组删掉第一个值

js fill

js 数组复制

js 复制数组

js 数组拷贝

js 对象转数组

js 深拷贝数组

js 获取今天年月日

js jsonp

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站