Что означает «= keyof Events» в этом интерфейсе «интерфейс PublicEmitter» {...} " - PullRequest
1 голос
/ 04 мая 2020

Я знаю, что такое keyof Events или Key extends keyof Events. Но что здесь = keyof Event?

interface PublicEmitter<Events, Key extends keyof Events = keyof Events>{ // ... }

Я изучаю этот пример машинописного кода:

https://github.com/sergeysova/emitting/blob/master/src/index.ts#L12

1 Ответ

1 голос
/ 04 мая 2020

= keyof Event является типом по умолчанию для параметра типа. Это означает, что если параметр типа не указан для этого параметра типа, используется значение по умолчанию. Так что PublicEmitter<any> эквивалентно PublicEmitter<any, keyof Events>. Без значения по умолчанию PublicEmitter<any> будет ошибка компилятора, так как указаны не все параметры типа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...