Skip to content

Latest commit

 

History

History
41 lines (28 loc) · 1.11 KB

04.KeyofConstraint.md

File metadata and controls

41 lines (28 loc) · 1.11 KB

The keyof constraint (restricción keyof)

← Volver a la tabla de contenido

keyof es util para acceder a propiedades de los objetos, con JavaScript seria:

function extractAndConvert( obj, key ) {
  return 'value: ' + obj[key]
}

sin embargo al escribirla con TypeScript y asignar los tipos de datos, tendríamos error porque TypeScript no sabe si el objeto que se paso como parámetro, realmente tendrá el "key"

function extractAndConvert( obj: object, key: string ) {
  return 'value: ' + obj[key]
}

extractAndConvert({}, 'name')

podemos llamar la función pero el objeto no contiene el key name

para evitar esos errores podemos usar Genéricos con keyof

function extractAndConvert<T extends object, U extends keyof T>( obj: T , key: U) {
  return 'value: ' + obj[key]
}

extractAndConvert({name:'cesar'}, 'name')

con keyof podemos asegurar que el genérico U sera un key del genérico T.


← Volver a la tabla de contenido