Dado un tipo T :
type T = { akey: string | number | undefined }Si reviso específicamente para ello
const fun = (p: T) => { if(!p.akey) return p.akey.toString() } akey entiende que una clave no puede estar indefinida.
Si lo hago de forma genérica sin embargo:
const fun2 = (p: T) => { if(Object.values(p).includes(undefined)) return p.akey.toString() } No lo hace: Object is possibly 'undefined' .
¿Cómo puedo hacer que mecanografiado entienda para no tener que hacer:
p.akey!.toString()