Что означает параметр (this: ClassName) в TypeScript? - PullRequest
0 голосов
/ 15 апреля 2020

Я новичок ie в TypeScript. Я был озадачен тем, что (this: ClassName) параметр функции означает в абстрактном классе. Например:

abstract class Department{
   abstract describe(this:Department):void;
}

class ITDepartment extends Department{
    describe(){
        console.log('IT Department');
    }
}

Как и выше, реализующий дочерний класс не имеет параметров для метода description (), но родительский класс имеет параметр (this: Department). Что этот код говорит мне и почему этот код работает ??

1 Ответ

0 голосов
/ 15 апреля 2020

добро пожаловать в SO.

В TypeScript, если после объявления переменной или параметра стоит двоеточие, оно определяет тип данной переменной.
В вашем случае вы объявляете переменную this как тип Department .
Обычно вы не делаете этого с функциями-членами класса, потому что тип this уже известен как тип класса.

...