Есть ли причина использовать ключевое слово declare перед типами и интерфейсами?
я наткнулся на такой код:
declare type A = { ... };
declare interface B { ... }
из поиска declare
ключевое слово (и ни один из хитов не указал мне на документы TypeScript по какой-то причине), declare
используется, когда переменная существует в JavaScript, и вам нужно ссылаться на нее из TypeScript, поэтому вы объявляете компилятору, что эта переменная действительно существует.
все примеры, которые я нашел, используют это ключевое слово, используют его так:declare var a;
почему я должен использовать его в перед type
или interface
? Основываясь на моем понимании declare
, это совершенно бесполезно, но компилятор не дает мне никаких ошибок.
1 ответов
похоже, я только что узнал, почему.
из этого github вопрос:
declare
должен быть необязательным для псевдонимов типов и интерфейсов.
declare type
иdeclare interface
идентичныtype
иinterface
так как мы уже отправили псевдонимы типов таким образом, люди должны были написать
declare type
несколько раз. Мы могли бы разбить их и сказать: "пиши!--3-->, а неdeclare type
", но это был бы массовый перерыв для no реальный повод.
в общем, нет причин использовать declare
для типов и интерфейсов.