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

// 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} 定义类型的区别

上一篇:深度学习-调参


下一篇:配置服务器