如何理解type Record<K extends keyof any, T>
Record的完整定义如下
type Record<K extends keyof any, T> = {[P in K]: T;
};
首先要先理解keyof any是啥。
type KEY = keyof any //即 string | number | symbol
因为不管什么类型,它的key总是string,number,symbol中的一种。
let a: any;
a['a'] //ok
a[0] // ok
a[Symbol()] //ok
a[{}] // error
接下来就好理解了,[P in K]
的意思是对象的key可以取 string,number,symbol.
e.g
let a:Record<string,any>
如何理解type Record<K extends keyof any, T>相关推荐
- transformer注意力机制的理解(Q,K,V,dk)
Attention公式: 上面这个注意力公式可以理解为是算 V 的加权后的表示 权重就是V前面的所有部分, 其中 softmax 可以使得权重概率分布和为1. 其中 算的就是注意力的原始分数(其实也 ...
- 深入浅出理解kNN(k近邻算法)
什么是kNN? kNN 的名字中虽然含有 NN,但并不是我们常说的Neural Network神经网络. kNN 英文全程 k - Nearest Neighbor, 中文名 k近邻算法. kNN 根 ...
- 如何理解Q、K、V,Self-attention + Multi-head Self-attention
Q.K.V生动的例子: 举个简单例子说明: 假设世界上所有小吃都可以被标签化,例如微辣.特辣.变态辣.微甜.有嚼劲....,总共有1000个标签,现在我想要吃的小吃是[微辣.微甜.有嚼劲],这三个单词 ...
- typescript (TS)进阶篇 --- 内置高阶泛型工具类型(Utility Type)
第一部分 前置内容 关键字 keyof 索引查询 对应任何类型T,keyof T的结果为该类型上所有公有属性key的联合: interface Eg1 {name: string,readonly a ...
- TS高级类型 Record、Pick、Partial、Required、Readonly、Exclude、Extract、Omit、NonNullable 使用
keyof 获取 接口 内所有的 key,即所有属性名 , 获取的是一个 联合类型 interface IPeople {name:string,age?: number,sex: string,}t ...
- TS高级类型内置工具类型
Partial<T> 将泛型 T 中的所有属性转化为可选属性 /*** Make all properties in T optional*/ type Partial<T> ...
- TypeScript超详细入门教程(上)
TypeScript超详细入门教程(上) 01 开篇词:Hello~TypeScript 01 开篇词:Hello~TypeScript 更新时间:2019-10-30 13:49:46 既然我已经踏 ...
- TypeScript进阶 之 重难点梳理
点击蓝色"大前端圈"关注我哟 加个"星标",欢迎来撩 THE LAST TIME ❝ The last time, I have learned ❞ [THE ...
- 「1.9W字总结」一份通俗易懂的 TS 教程,入门 + 实战!
前端瓶子君,关注公众号 回复算法,加入前端编程面试算法每日一题群 本文知识图谱分基础.进阶和实战三个部分,分别如下: image.png image.png image.png 这三份知识图谱里罗列的 ...
最新文章
- 一文带你看懂Springboot核心功能及优缺点
- Knowledge Graph |(1)图数据库Neo4j简介与入门
- R语言描述性统计分析:相关性分析
- python跟踪脚本进度(类似bash-x)
- CAS的安装与配置(一)服务器端配置
- 考研英语核心词汇辨析(黑魔方系列2007版之十一)
- 去年每天入账25个亿,没错,我就是佩奇
- Atitit 理财之道 信用卡账单管理之道 attilax总结 1. 信用卡账单管理 信用卡账单信息的目的,解决一下问题	2 1.1. 账单记录明细可追溯,原则上保留五十年 可按照时间 银行 卡
- FPGA丨图像二值化
- 标识符,注释,常量,变量
- c语言中的面积和体积计算器,C语言编程问题(面积计算器)——新手问题
- 记录下自己拙计的算法之旅 LeetCode Rotate Array
- xlwings使用InputBox
- html5 ios 键盘挡住输入框,IOS 键盘挡住输入框的问题解决办法
- 目前最赚钱的5种计算机编程语言
- 等级保护体系及信息安全管理系统
- Django在Terminal中python manage.py startapp myapp报name ‘os‘ is not defined
- 【NOIP2012提高组】开车旅行
- 利用GPS定位[android]
- C#中跳过循环continue与break
热门文章
- 【GitHub探索】python调试利器——pysnooper源码分析
- CINEMA4D基本操作
- Java毕设项目——人才招聘网站(java+SpringBoot+Maven+Mysql+Jsp)
- 走捷径修Bug却引起全球大宕机
- java 全站静态化_java如何页面全站静态化
- 完美助手 FinePlus 1.43.5 正式版
- java基础入门《一》
- 区间的交并(80-th Level Archeology,cf 731D)
- Sourcetree软件中添加git的.gitignore文件忽略某些文件提交
- 数据的游戏:冰与火--转载本站文章请注明作者和出处 酷壳 – CoolShell.cn ,请勿用于任何商业用途