[TypeScript] Query Properties with keyof and Lookup Types in TypeScript
typescript in and with Query properties types lookup
2023-09-14 08:59:17 时间
The keyof
operator produces a union type of all known, public property names of a given type. You can use it together with lookup types (aka indexed access types) to statically model dynamic property access in the type system.
Take away:
1. extends
2. keyof
interface Todo { id: number; text: string; completed: boolean; } const todo: Todo = { id: 1, text: "Buy milk", completed: false } // K extends keyof T: K will be the unit types of 'id', 'text', 'completed' // T[K] is the lookup tells the Typescript the correct return type function prop<T, K extends keyof T>(obj: T, key: K): T[K] { return obj[key]; } type TodoId = Todo['id']; type TodoText = Todo['text']; type TodoCompleted = Todo['completed']; const id: TodoId = prop(todo, 'id'); // type number const text: TodoText = prop(todo, 'text'); // type string const completed: TodoCompleted = prop(todo, 'completed'); // type boolean
相关文章
- typescript快速入门
- 巧妙利用TypeScript模块声明帮助你解决声明拓展
- ESLint: Typescript + React + TSX 集成
- TypeScript基础常用知识点总结
- TypeScript基础知识
- typeScript学习总结(二)
- typeScript:exports is not defined
- TypeScript 深水区:3 种类型来源和 3 种模块语法
- 类型体操:探究 TypeScript 内置高级类型
- 让你更好使用 Typescript 的11个技巧
- 调查:React 仍然是使用最广泛的前端框架,TypeScript 是优先选项
- 开心档之TypeScript 联合类型
- 在TypeScript中使用装饰器
- 微软为大型 JavaScript 应用而开发的 TypeScript 发布了 2.0 版本
- MySQL中的IN函数详解(mysql中的in)
- 查询MySQL中使用IN语句实现多字段查询(mysql多字段in)
- MySQL 中的 IN 语句分析(mysql语句in)
- 解析MySQL中IN操作符的实现原理(mysql中in的原理)
- MySQL中IN查询的使用及效率优化(mysql中in的0)
- 中利用IN语句检索Oracle数据库中的数据(in在oracle数据库)
- 以Oracle IN查询精准定位你要的信息(oracle使用in查询)
- 的区别Oracle中IN与的异同探究(oracle中in和=)
- Oracle 中的 IN 子句使用技巧(oracle in 子句)
- Oracle In决定系统新时代的一种转变(oracle in 代表)