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

189
Vistas
JavaScript: confusión entre clases globales y herencia

Principiante total que aprende JS aquí. No entiendo por qué cuando declaras una variable, no hereda TOTALMENTE de sus métodos de clase principal, por ejemplo:

 // I initiate an array (my question is the same for all type of vars) var myArr = ["foo", "bar"] // Let's say I call a random function of the parent class Array console.log(Array.isArray(myArr)); // true // Since I assume that myArr inherited of the COMPLETE LIST of Array's methods, I should be able to do this: console.log(myArr.isArray()); // Uncaught TypeError

¿Por qué las variables no heredan todos los métodos de sus clases principales? En lugar de eso, debe mezclar las funciones de Array y myArr . Deben ser idénticos en los dos lados, ¿no?

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

0

Array.isArray también se puede llamar en no matrices, por lo que llamarlo desde la instancia de otras clases no tendría el método, lo que generaría un error de tiempo de ejecución. Básicamente, si supiera que es una matriz y se podría llamar, no necesitaría llamarla.

Es por eso que NO está en el prototipo Array y NO se puede llamar desde la instancia.

 const a = null a.isArray() // bad Array.isArray(a) // good

Los desarrolladores tienen la opción en Javascript para agregar métodos a la clase, la instancia (también conocido como prototipo) o ambos. En este caso solo se agregó a la clase, no a la instancia.

Podría haberse agregado al prototipo de Object , pero aún así no estaría en las instancias de boolean , number , string , symbol o undefined .

about 4 years ago · Juan Pablo Isaza Denunciar

0

Debe pasar una matriz como parámetro a la función isArray.
P.ej:

 console.log(myArr.isArray(myArr))
about 4 years ago · Juan Pablo Isaza Denunciar

0

Cuando declara una variable, es una instancia de una Clase, no hay herencia.

Cuando declara una clase que extiende otra clase es donde ocurre la herencia.

Array.isArray() es una propiedad estática del objeto Array de JavaScript.

Por lo general, los métodos estáticos se utilizan para implementar funciones que pertenecen a la clase, pero no a ningún objeto en particular de la misma.

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