请问老师这样写为什么没报错呢?
来源:10-16 【高级类型 Record 真实应用】 异步数据扁平化 的实现【 实现方式1 】

寂寞追不上我
2022-09-09
谢谢老师!
写回答
1回答
-
keviny79
2022-09-12
这是几种特例赋值,见代码:
interface Door {
[x: number]: any
}
let door: Door = { 3: "wangwu" }
let door21: Door = { username: "wangwu" } // 错误
const name0 = "username"
let door22: Door = { [name0]: "wangwu" } // 错误
// ts 特例赋值
const name: string = "username" // 增加 string 类型
let door31: Door = { [name]: "wangwu" } // 正确 ts把[x:number]自动转换为[x:string]
const usr = { username: "wangwu", age: 23 }
let door32: Door = { [usr.username]: "wangwu" } // 正确 ts把[x:number]自动转换为[x:string]
const isName: symbol = Symbol()
let door4: Door = { [isName]: "wangwu" } // 正确 // 正确 ts把[x:number]自动转换为[x:symbol]
00
相似问题