Determinar el tipo de datos (toString)

  • Original : MDN-toString

  • Función : el toString()método devuelve una cadena que representa el objeto.

  • Método :obj.toString()

  • Valor de retorno : una cadena que representa el objeto.

  • Descripción :

Cada objeto tiene un toString()método, cuando el objeto se representa como un valor de texto, o se invoca automáticamente un objeto en una cadena de caracteres de referencia deseada.

De forma predeterminada, toString()el método es para la Objectherencia de cada objeto, si el método no está cubierto en el objeto personalizado, toString()devuelve '[object type]', donde typeel tipo

const obj = new Object();
console.log(obj.toString()); // [object Object]

Por supuesto, según este punto, se puede toString()obtener para cada tipo de objeto.

Para que cada objeto pueda pasar Object.prototype.toString()a detectar, necesitamos usar Function.prototype.call()o Function.prototype.apply()llamar en forma de objeto de transferencia para ser examinado como el primer parámetro, llamado thisArg.

  • Codigo :
/**
 * @name 示例
 * @description toString 检测对象类型
 */
const toString = Object.prototype.toString;

console.log(toString.call(new Date));     // [object Date]
console.log(toString.call(new String));   // [object String]
console.log(toString.call(Math));         // [object Math]
console.log(toString.call('xxxx'));    // [object String]
console.log(toString.call(123));          // [object Number]
console.log(toString.call([]));           // [object Array]
console.log(toString.call({
    
    }));           // [object Object]
console.log(toString.call(undefined));    // [object Undefined]
console.log(toString.call(null));         // [object Null]

console.log('------');

console.log(toString.apply(new Date));     // [object Date]
console.log(toString.apply(new String));   // [object String]
console.log(toString.apply(Math));         // [object Math]
console.log(toString.apply('xxxx'));    // [object String]
console.log(toString.apply(123));          // [object Number]
console.log(toString.apply([]));           // [object Array]
console.log(toString.apply({
    
    }));           // [object Object]
console.log(toString.apply(undefined));    // [object Undefined]
console.log(toString.apply(null));         // [object Null]

Supongo que te gusta

Origin blog.csdn.net/weixin_43956521/article/details/111470098
Recomendado
Clasificación