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

226
Vistas
¿Cuál es el alcance superior de la clase secundaria?

Aprendí que dependiendo de dónde definió la función, determina el alcance superior de la función ( static scope o lexical scope )

ejemplo

 class Parent { constructor(name){ this.name = name } } class Child extends Parent { }

en esto,

what is the upper scope of the Child class? is it Parent class or global?

Pienso...

porque la clase Child está definida en global, el alcance superior es global. pero,

De acuerdo con la cadena de prototipos, parece que el alcance superior es la clase principal.

¿Qué me estoy perdiendo?

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

0

¿Cuál es el alcance superior de la clase Child? ¿Es clase de padres o global?

Es el alcance global.

porque la clase Child está definida en global, el alcance superior es global

Sí exactamente.

Según la cadena de prototipos, parece que el alcance superior es la clase principal

Los prototipos no representan el alcance. Estás comparando manzanas y naranjas aquí.

Los prototipos son objetos que se utilizan para definir propiedades comunes para todos los objetos que se crean a partir de una función constructora particular. Ejemplo: todas las instancias de matriz comparten métodos definidos en Array.prototype .

Si no se puede encontrar una propiedad en particular en un objeto, se sigue su vínculo de prototipo y se busca esa propiedad en particular en ese objeto de prototipo.

En lo que respecta a un alcance, si un identificador particular no se puede encontrar en el alcance actual, Javascript buscará ese identificador en el alcance externo, que en el caso de la clase Child es el alcance global.

Ejemplo

El siguiente ejemplo debería aclarar la diferencia entre el alcance y el prototipo:

 function foo(arr) { // ".forEach" method will be looked-up in the "Array.prototype" arr.forEach(n => console.log(n)); // "b" will be searched for in the outer scope, ie global scope console.log(b); } const numArr = [1, 2, 3]; foo(numArr);
  • En el ejemplo de código anterior, dentro del alcance de la función foo , arr existe en el alcance local; si no fuera así, javascript habría buscado arr en el ámbito externo, es decir, el ámbito global

  • En la línea siguiente, el identificador b no existe en el ámbito local de la función foo ; como resultado, javascript buscará b en el ámbito externo, es decir, el ámbito global

  • El método forEach se buscará primero en el objeto arr . Si javascript no puede encontrar ninguna propiedad llamada forEach en el objeto arr , se buscará en el prototipo de arr , es decir, Array.prototype

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