高级泛型类型深入解析
在编程中,泛型类型是一种强大的工具,它能让代码更加灵活和可复用。本文将深入探讨高级泛型类型的相关知识,包括如何使用 keyof 关键字约束泛型类型参数、索引访问运算符的使用、类型映射等内容。
1. 使用 keyof 约束泛型类型参数
keyof 关键字可用于约束泛型类型参数,使其只能匹配另一个类型的属性。以下是一个示例代码:
import { City, Person, Product, Employee } from "./dataTypes";
function getValue<T, K extends keyof T>(item: T, keyname: K) {
console.log(`Value: ${item[keyname]}`);
}
let p = new Product("Running Shoes", 100);
getValue(p, "name");
getValue(p, "price");
let e = new Employee("Bob Smith", "Sales");
getValue(e, "name");
getValue(e, "role");
在这个示例中, getValue 函数的类型参数 K 受 keyof T 约束,这意味着 K 只能是 T
超级会员免费看
订阅专栏 解锁全文
1890

被折叠的 条评论
为什么被折叠?



