Js中数据类型判断的方法以及区别都有哪些?

在JavaScript中,有很多方法可以用来识别不同的数据类型。下面是常见的几种方法:

  1. typeof运算符:typeof运算符返回一个字符串,表示被检查操作数的数据类型
typeof 123;                 // "number"
typeof 'hello world';       // "string"
typeof true;                // "boolean"
typeof undefined;           // "undefined" 
typeof null;                // "object" 
typeof {
    
    };                  // "object" 
typeof [];                  // "object" 
typeof function (){
    
    };       // "function"

  1. instanceof关键字:instanceof可以用于检测一个对象是JavaScript类的实例
const date = new Date();
date instanceof Date;    // true
date instanceof Object;  // true   

  1. Object.prototype.toString.call()方法:这种方法可以返回 [object NativeConstructorName] 或者 [object HostConstructorName] 字符串
Object.prototype.toString.call("test");      // "[object String]"
Object.prototype.toString.call(123);         // "[object Number]"
Object.prototype.toString.call([]);          // "[object Array]"
Object.prototype.toString.call({
    
    });          // "[object Object]"
Object.prototype.toString.call(function(){
    
    });// "[object Function]"
Object.prototype.toString.call(null);        // "[object Null]"
Object.prototype.toString.call(undefined);   // "[object Undefined]"
  1. isArray()函数:isArray()可以用来判断一个变量是否为一个数组
Array.isArray([]);     // true
Array.isArray({
    
    });     // false

这些方法的使用场景不同,具体用哪种方法取决于你的需要。但总的来说,typeof运算符和instanceof关键字通常用于基本类型和对象类型之间的区分,而Object.prototype.toString.call()方法则可用于更细粒度的类型检查

猜你喜欢

转载自blog.csdn.net/m0_68009075/article/details/131107568