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

128
Vistas
forEach y asignar a la variable

Este es solo un ejemplo que quiero entender. Sé que hay una mejor manera de seleccionar el último elemento de la matriz, pero no sé por qué funciona de esa manera.

 const numbers = [1, 2, 3]; let exampleId: number; numbers.forEach(function(number) { exampleId = number; }); console.log(exampleId);

¿Por qué aparece el error "La variable 'exampleId' se usa antes de ser asignada". en la línea de console.log?

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

0

Tal vez el intérprete no tenga en cuenta que los numbers de la matriz no están vacíos en su código.

Porque, si estuviera vacío, seguro que se usaría la variable exampleId antes de ser asignada.

(Si la matriz está vacía, el código dentro del bucle forEach nunca se ejecuta y la variable nunca se asigna)

about 4 years ago · Juan Pablo Isaza Denunciar

0

El alcance de la asignación está dentro del bucle forEach ; Si numbers no tienen valores, exampleId nunca se definiría. TS esencialmente le advierte sobre eso, ya que no puede llamar a una variable que aún no se ha definido.

Solución 1:

Inicialice su variable con un valor

 let exampleId = 0;

Solución 2:

Use afirmaciones no nulas, aunque sugeriría en contra de ellas

 console.log(exampleId!);

Con esta solución, esencialmente le estamos diciendo a TS que no se preocupe por eso, ya que seguramente existirá un valor; Eso, en otras palabras, eliminar el tipo de seguridad, por lo que sugeriría ir con la opción 1.

about 4 years ago · Juan Pablo Isaza Denunciar

0

La forma de seleccionar el valor del último elemento de una matriz es

 function lastElementOfArray(arr = []) { return arr.length > 0 ? arr[ arr.length - 1 ] : undefined ; }

La razón por la que obtiene Variable 'exampleId' is used before being assigned. se debe a que no hay garantía de que se invoque la devolución de llamada Array.forEach() que asigna un valor a exampleId (por ejemplo, cuando los numbers de la matriz tienen una longitud de 0).

Y entonces, obtienes ese mensaje en la línea

 console.log(exampleId)
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