在 JavaScript 中,可以使用多种方式来判断数据类型:

  1. typeof 操作符typeof 是一种一元操作符,用于返回一个表示操作数类型的字符串。

    typeof 42; // 返回 'number'
    typeof 'hello'; // 返回 'string'
    typeof true; // 返回 'boolean'
    typeof undefined; // 返回 'undefined'
    typeof null; // 返回 'object'(这是一个历史遗留问题)
    typeof {}; // 返回 'object'
    typeof []; // 返回 'object'
    typeof function() {}; // 返回 'function'
    
  2. instanceof 操作符instanceof 用于判断一个对象是否是某个构造函数的实例。

    const arr = [];
    arr instanceof Array; // 返回 true
    const obj = {};
    obj instanceof Object; // 返回 true
    
  3. 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]'
    
  4. Array.isArray() 方法:用于检查一个对象是否为数组。

    Array.isArray([]); // 返回 true
    Array.isArray({}); // 返回 false
    

这些方法可以根据不同的需求来判断数据类型,选择最适合的方法进行判断。

Was this helpful?

0 / 0

发表回复 0

Your email address will not be published.