关于 this: Deck
来源:3-19 函数 - this+ 重载

哈哈大笑x
2019-06-24
interface Deck {
suits: string[]
cards: number[]
createCardPicker(this: Deck): () => Card
}
老师,您好
我想问一下这里this: Deck
是this加上了Deck类型,所以this指向的是 加上Deck这个类型的对象
我可以这样理解吗
写回答
2回答
-
我的理解是 this:Deck 是声明 this 必须是 Deck 类型的对象
后边的代码声明了一个 deck 对象,deck.createCardPicker()调用的时候 this 是指向 deck 对象的,而且deck 对象是 Deck 类型的
所以符合接口里面声明的类型定义
你理解的是this加上了Deck类型,所以this指向的是 加上Deck这个类型的对象
应该是this加上了Deck类型,所以 this 指向的对象必须是 Deck 类型的对象
032019-06-27 -
ustbhuangyi
2019-06-25
楼上同学回答基本正确,我再补充一点,这个 this 参数是告诉编译器,这里的 this 指向的是 Deck,现在 TS 编译器知道 createCardPicker 期望在某个 Deck 对象上调用
012019-06-27
相似问题