还是没懂第二种问题的原因是什么?
来源:2-19 看似简单的取值为何总抛出错误?

Richard学python
2023-10-23
let obj:object = {name:'richard',age:18};
let u = obj['name'] // ts会先去object类型中去找是否有 'name' 类型
export {}
理解还是晕乎乎的,以下是我目前的理解:
object 类型本身就是代表着 数组、对象、函数类型,所以对 object 类型的数据来说使用索引是查看是否有相应的类型,在本案例中,object肯定是不存在 name 类型的,所以报错了,但是这样设计的意义是什么呢? obj 肯定已经是对象类型了,那就去找对应的值嘛,这样设计显得很笨,还是我理解有问题呢?请kevin老师解答下。谢谢
写回答
1回答
-
keviny79
2023-10-23
ts 设计 object 还是有他的用武之地 :
举一个场景吧:比如课程后面章节讲到=把数组和对象进行深拷贝,object 就用上了(可以被后面章节讲到的 Record<string,any>取代)
不过 object 表示函数类型的场景比较少。
112023-10-23
相似问题