馃敟 TYPE MANIPULATION, TYPE PARAMETERS EN GENERIC CONSTRAINTS

Es posible declarar un par谩metro de tipo T que este restringido por otro par谩metro de tipo. Por ejemplo, en la siguiente funci贸n podemos restringir la gama de propiedades que se pueden obtener de un valor A restringiendo las posibles opciones a las propiedades que lo componen.

function obtenerPropiedad<T, K extends keyof T>(obj: T, key: K) {
    return obj[key];
}

const x = { a: 1, b: 2, c: 3, d: 4, e: 5 };

console.log(obtenerPropiedad(x, "b"));
console.log(obtenerPropiedad(x, "g")); // <- esta l铆nea generar铆a un error