在 JavaScript 中,可以使用多种方式来判断数据类型:
-
typeof 操作符:
typeof
是一种一元操作符,用于返回一个表示操作数类型的字符串。typeof 42; // 返回 'number' typeof 'hello'; // 返回 'string' typeof true; // 返回 'boolean' typeof undefined; // 返回 'undefined' typeof null; // 返回 'object'(这是一个历史遗留问题) typeof {}; // 返回 'object' typeof []; // 返回 'object' typeof function() {}; // 返回 'function'
-
instanceof 操作符:
instanceof
用于判断一个对象是否是某个构造函数的实例。const arr = []; arr instanceof Array; // 返回 true const obj = {}; obj instanceof Object; // 返回 true
-
Object.prototype.toString.call() 方法:
Object.prototype.toString.call()
可以返回一个更准确的类型信息,适用于所有数据类型。Object.prototype.toString.call(42); // 返回 '[object Number]' Object.prototype.toString.call('hello'); // 返回 '[object String]' Object.prototype.toString.call(true); // 返回 '[object Boolean]' Object.prototype.toString.call(undefined); // 返回 '[object Undefined]' Object.prototype.toString.call(null); // 返回 '[object Null]' Object.prototype.toString.call({}); // 返回 '[object Object]' Object.prototype.toString.call([]); // 返回 '[object Array]' Object.prototype.toString.call(function() {}); // 返回 '[object Function]'
-
Array.isArray() 方法:用于检查一个对象是否为数组。
Array.isArray([]); // 返回 true Array.isArray({}); // 返回 false
这些方法可以根据不同的需求来判断数据类型,选择最适合的方法进行判断。
Was this helpful?
0 / 0