Ошибка при вызове super.method () для метода, который определен как функция стрелки в Typescript - PullRequest
1 голос
/ 26 июня 2019

Когда метод определен в базовом классе как функция стрелки, при вызове этого метода в производном классе с помощью super.method () я получаю сообщение об ошибке «Только открытые и защищенные методы базового класса доступны через'super' keyword.ts (2340) ", хотя метод был определен как открытый.

Screenshot

Я понимаю, что в функции со стрелкой контекст является лексическим.Это повлияет на значения this и super в функции стрелки, но на изображении выше Sun.met1 не определен как функция стрелки, поэтому я не понимаю, почему он не может получить доступ к Father.met.

1 Ответ

0 голосов
/ 27 июня 2019

Вы можете исправить это, изменив target в tsconfig.json на es5 на es6 или более новый:

"target": "es6"

Я не уверен, что это не совсем такили нет, но открыли https://github.com/microsoft/TypeScript/issues/32121, чтобы получить разъяснения от команды TS

В качестве альтернативы, просто используйте обычные методы вместо функций стрелок

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