Lingua-e
JavaScript

¿Qué significa TS18048: Posiblemente undefined?

← Errores

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.

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ómo solucionarlo

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.

Código corregido

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

Errores relacionados

¿Listo para practicar tu inglés en el trabajo?

Lingua-e tiene ejercicios interactivos basados en conversaciones reales de developers: standups, code reviews, retrospectivas y más. Practica hasta que salga solo.

Prueba Lingua-e gratis