Lingua-e
← Errores
JavaScript

Qué significa TS18048: Posiblemente undefined y cómo solucionarlo

Referencia del error

TS18048: Posiblemente undefined

Lenguaje

JavaScript

Severidad

Media

Cuándo ocurre

El error TS18048 de TypeScript se reporta cuando se accede a un valor que podría ser undefined sin una verificación de null.

Posibles soluciones

Usa optional chaining (?.) para acceso seguro a propiedades. Agrega una verificación if explícita antes de usar el valor. Devuelve T | undefined desde tu función y deja que quien la llame maneje el caso undefined. Usa nullish coalescing (??) para proporcionar un valor predeterminado.

Más detalles

El error TS18048 de TypeScript se reporta cuando se accede a un valor que podría ser undefined sin una verificación de null. Es similar al error 'object is possibly null' pero específicamente para propiedades opcionales y valores tipados como T | undefined.

Por qué ocurre

  • •Acceder a una propiedad en un campo opcional sin una guardia.
  • •Usar el resultado de Array.find() que puede devolver undefined.
  • •El tipo de retorno de una función incluye undefined pero quien la llama no lo verifica.
  • •Map.get() devuelve T | undefined y el valor se usa directamente.

Posibles soluciones

Usa optional chaining (?.) para acceso seguro a propiedades. Agrega una verificación if explícita antes de usar el valor. Devuelve T | undefined desde tu función y deja que quien la llame maneje el caso undefined. Usa nullish coalescing (??) para proporcionar un valor predeterminado.

Ejemplos

JavaScript

Código que causa el error

interface User {
  name: string;
  address?: {
    city: string;
  };
}

function getCity(user: User): string {
  return user.address.city; // address may be undefined
}

Error en la terminal

error TS18048: 'user.address' is possibly 'undefined'.

Código corregido

function getCity(user: User): string | undefined {
  return user.address?.city;
}

Practica en inglés

¿Cómo le explicarías un TS18048: Possibly Undefined a un compañero dev? Elige la frase correcta:

"I hit an error...

¿Programando en inglés?

Para arreglar esto, leíste inglés técnico real. Lingua-e tiene ejercicios gratis hechos igual: dailys, code reviews y situaciones reales de trabajo.

Practicar inglés para developers gratis