老师您好
来源:4-16 泛型中keyof语法的使用

袁门弟子
2020-06-16
老师好,关于keyof来进行限定的一些理解和问题:
1: keyof相当于对interface接口的键值进行了迭代,T通过extends进行了继承。于是T就被限定在了Teacher内部的这几种数据类型内。
2: 我们此时使用T来对key进行描述。
以上就是我对keyof在本案例中的用法的一点理解,不知道对不对,
我这里还有一个小疑问,我们在平时描述一个函数的时候是这样:
getName: (params: string) => string
也就是入参和返回值都是用数据类型直接描述。
但是我们这里却写的是 (key: T): Person[T]
那么T和Person[T]在这里到底是分别表示的什么呢?
他们不应该是同一个吗?也就是T 或者都是Person[T]
现在看来一个是键名,一个是键值,我这里不是很明白老师。d
写回答
1回答
-
你理解的正确。 (key: T): Person[T] ,传入的参数key 的类型,作为T,返回的是一组Person数据,Person 的类型也是T
032020-06-20