Tipo de objeto typeof en js

    Los tipos de objetos de js se dividen principalmente en dos categorías: tipos de datos básicos (tipos nativos) y tipos de datos de paquetes (tipos de paquetes);

1. Tipos de datos básicos

    typeof 123; // 'number'
    typeof NaN; // 'number'
    typeof 'str'; // 'string'
    typeof true; // 'boolean'
    typeof undefined; // 'undefined'
    typeof Math.abs; // 'function'
    typeof null; // 'object'
    typeof []; // 'object'
    typeof {
    
    }; // 'object'
    console.log("typeof 123= ",typeof 123);
    console.log("typeof NaN= ",typeof NaN);
    console.log("typeof 'str'= ",typeof 'str');
    console.log("typeof true= ",typeof true);
    console.log("typeof undefined= ",typeof undefined);
    console.log("typeof Math.abs= ",typeof Math.abs);
    console.log("typeof null= ",typeof null);
    console.log("typeof []= ",typeof []);
    console.log("typeof {}= ",typeof {
    
    });

    El efecto es el siguiente:

Figura (1) Tipos de datos básicos

2. Tipo de datos de embalaje

    var a1 = new Number(123)     //object
    var b1 = new Boolean(true)   //object
    var c1 = new String('hello') //object
    console.log("new Number(123)= ",typeof a1)
    console.log("new Boolean(true)= ",typeof b1)
    console.log("new String('hello')= ",typeof c1)

    El efecto es el siguiente:

Figura (2) Tipo de datos de empaque

    El tipo de datos empaquetados se obtiene con new func (). Es un objeto, que no es el mismo que el tipo de datos básicos . Por lo tanto, el tipo de datos empaquetados y el tipo de datos básicos no se pueden juzgar por igualdad con === .

3. Análisis de casos

3.1 Comparar el tipo de datos básico 123 con el tipo de datos de paquete 123

    var a1 = 123;             //基本数据类型:123, 属于number
    var b1 = new Number(123); //包装数据类型:123, 属于object
    var bRet = (a1 === b1);
    console.log("check a1,b1",bRet)

    Comparación de resultados:
Inserte la descripción de la imagen aquí

3.2 Compare el tipo de datos básico 123 con los datos nativos 123

    var a1 = 123;             //基本数据类型:123, 属于number
    var c1 = Number(123);     //原生数据:123,   属于number
    var bRet = (a1 === c1);
    console.log("check a1,c1",bRet)

    Comparación de resultados:
Inserte la descripción de la imagen aquí

3.3 Resumen

    Los datos generados con nuevo son un tipo de empaquetado (tipo de datos de empaquetado) y los datos sin nuevo son un tipo primitivo (tipo de datos básico).

Supongo que te gusta

Origin blog.csdn.net/sanqima/article/details/113766585
Recomendado
Clasificación