首页 > 其他 > 详细

TS object 类型 和 {[key:string]: unknown} 定义类型的区别

时间:2021-06-29 13:20:32      阅读:17      评论:0      收藏:0      [点我收藏+]
// Object 跟我们在JS中想象的对象是有一定差别的
// Object类型 可以是 对象  函数 正则
let a: Object
a = {name: ‘hky‘}
a = () => {}
a = new RegExp(‘‘)

 

let b:{[key:string]: unknown}
b = {name: ‘lwx‘}
b = () => {} // 不能将类型“() => void”分配给类型“{ [key: string]: unknown; }”。类型“() => void”中缺少索引签名。
// 可以看出 限制了 函数类型
 
// {[key:string]: unknown} 表示要的是键值对的  对象  例如    { name: ‘hky‘ }  限制不允许传入函数类型
// 而 Object 类型没有此方面的限制  
 
//  注意!!
//  不知道类型的情况下尽量不要写any  实在不知道类型 可以使用unknown

 

TS object 类型 和 {[key:string]: unknown} 定义类型的区别

原文:https://www.cnblogs.com/hekeying/p/14949287.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!