TypeScript如何使用Record
这篇文章将为大家详细讲解有关TypeScript如何使用Record,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
运用Record
Record
是TypeScript的一个高级类型,但是相关的文档并不多,所以经常被人忽略,但是是一个非常强大的高级类型。
Record允许从Union类型中创建新类型,Union类型中的值用作新类型的属性。
举个简单的例子,比如我们要实现一个简单的汽车品牌年龄表,一下写法貌似没有问题。
type Car = 'Audi' | 'BMW' | 'MercedesBenz'
const cars = {
Audi: { age: 119 },
BMW: { age: 113 },
MercedesBenz: { age: 133 },
}
虽然这个写法没问题,但是有没有考虑过类型安全的问题?
比如:
我们忘记写了一个汽车品牌,他会报错吗?
我们拼写属性名错误了,它会报错吗?
我们添加了一个非上述三个品牌的品牌进去,他会报错吗?
我们更改了其中一个品牌的名字,他会有报错提醒吗?
上述这种写法统统不会,这就需要Record的帮助。
type Car = 'Audi' | 'BMW' | 'MercedesBenz'
type CarList = Record<Car, {age: number}>
const cars: CarList = {
Audi: { age: 119 },
BMW: { age: 113 },
MercedesBenz: { age: 133 },
}
当我们拼写错误:
当我们少些一个品牌:
当我们添加了一个非约定好的品牌进去:
在实战项目中尽量多用Record,它会帮助你规避很多错误,在vue或者react中有很多场景选择Record是更优解。
关于“TypeScript如何使用Record”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341