美文网首页
如何判断数据类型

如何判断数据类型

作者: zhao_madman | 来源:发表于2023-04-06 00:43 被阅读0次
    1. typeof:判断基本数据类型,返回字符串类型的值,包括 "undefined"、"boolean"、"number"、"string"、"bigint"、"symbol" 和 "object"示例代码:
    typeof undefined; // "undefined"
    typeof true; // "boolean"
    typeof 123; // "number"
    typeof "hello"; // "string"
    typeof BigInt(123); // "bigint"
    typeof Symbol("foo"); // "symbol"
    typeof {}; // "object"
    typeof []; // "object"
    typeof null; // "object"
    
    1. instanceof:判断对象的类型,返回布尔值。

    示例代码:

    const arr = [1, 2, 3];
    arr instanceof Array; // true
    
    const obj = { name: "Tom" };
    obj instanceof Object; // true
    
    function Person(name) {
      this.name = name;
    }
    const person = new Person("Jack");
    person instanceof Person; // true
    
    1. Object.prototype.toString.call():判断对象的类型,返回字符串类型的值。

    示例代码:

    Object.prototype.toString.call(undefined); // "[object Undefined]"
    Object.prototype.toString.call(null); // "[object Null]"
    Object.prototype.toString.call(true); // "[object Boolean]"
    Object.prototype.toString.call(123); // "[object Number]"
    Object.prototype.toString.call("hello"); // "[object String]"
    Object.prototype.toString.call(BigInt(123)); // "[object BigInt]"
    Object.prototype.toString.call(Symbol("foo")); // "[object Symbol]"
    Object.prototype.toString.call({}); // "[object Object]"
    Object.prototype.toString.call([]); // "[object Array]"
    
    1. Array.isArray():判断是否为数组,返回布尔值。

    示例代码:

    Array.isArray([]); // true
    Array.isArray({}); // false
    
    1. isNaN():判断是否为 NaN,返回布尔值。

    示例代码:

    isNaN(NaN); // true
    isNaN(123); // false
    isNaN("hello"); // true
    
    1. isFinite():判断是否为有限数,返回布尔值。

    示例代码:

    isFinite(123); // true
    isFinite(Infinity); // false
    isFinite(-Infinity); // false
    isFinite("hello"); // false
    
    1. typeof 和 instanceof 的区别:

    typeof 用于判断基本数据类型,而 instanceof 用于判断对象的类型。

    typeof 返回字符串类型的值,而 instanceof 返回布尔值。

    typeof 不能判断 null 和数组,而 instanceof 可以判断数组。

    示例代码:

    typeof null; // "object"
    typeof []; // "object"
    
    null instanceof Object; // false
    [] instanceof Array; // true
    
    1. Object.prototype.toString.call() 和 typeof 的区别:

    Object.prototype.toString.call() 可以判断 null 和数组,而 typeof 不能判断。

    Object.prototype.toString.call() 返回字符串类型的值,而 typeof 返回字符串类型的值和 undefined。

    示例代码:

    Object.prototype.toString.call(null); // "[object Null]"
    Object.prototype.toString.call([]); // "[object Array]"
    
    typeof null; // "object"
    typeof []; // "object"
    

    相关文章

      网友评论

          本文标题:如何判断数据类型

          本文链接:https://www.haomeiwen.com/subject/diiyddtx.html