Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

140
Vistas
tipo de verificación de función personalizada de javascipt

Veo un tipo de verificación de función en javascript pero no entiendo cómo funciona

 const typeOf = value => Object.prototype.toString.call(value).slice(8,-1) typeOf(1) //=> number typeOf("a") //=> string typeOf([1]) //=> array typeOf(()=> {}) //=> function

por favor ayúdame a explicar

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Object.prototype.toString es similar a una declaración de cambio grande sobre el valor al que se llama. Lo que hace es :

 1. If the this value is undefined, return "[object Undefined]". 2. If the this value is null, return "[object Null]". 3. Let O be ! ToObject(this value). 4. Let isArray be ? IsArray(O). 5. If isArray is true, let builtinTag be "Array". 6. Else if O has a [[ParameterMap]] internal slot, let builtinTag be "Arguments". 7. Else if O has a [[Call]] internal method, let builtinTag be "Function". 8. Else if O has an [[ErrorData]] internal slot, let builtinTag be "Error". 9. Else if O has a [[BooleanData]] internal slot, let builtinTag be "Boolean". 10. Else if O has a [[NumberData]] internal slot, let builtinTag be "Number". 11. Else if O has a [[StringData]] internal slot, let builtinTag be "String". 12. Else if O has a [[DateValue]] internal slot, let builtinTag be "Date". 13. Else if O has a [[RegExpMatcher]] internal slot, let builtinTag be "RegExp". 14. Else, let builtinTag be "Object". 15. Let tag be ? Get(O, @@toStringTag). 16. If Type(tag) is not String, set tag to builtinTag. 17. Return the string-concatenation of "[object ", tag, and "]".

Esencialmente itera a través de diferentes tipos de objetos de lenguaje y creará una cadena correspondiente a la que coincide. Por ejemplo, si se pasa un número, la cadena generada es "Number" .

Esta cadena luego se concatena para producir

 [object Number] ^^^^^^

donde la sección ^^^ varía según el tipo de argumento que se haya pasado.

Hacer .slice(8,-1) es como invertir el paso 17: toma la subcadena a partir del índice 8 (justo después del espacio) hasta el penúltimo carácter de la cadena (inclusive), por lo que la subcadena que se extrae es "Number" o "Boolean" o algo similar.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda