Простори Оголошень / Declaration Spaces
У TypeScript є два простори оголошень: простір оголошення variable і простір оголошення type. Ці поняття досліджуються нижче.
Type Declaration Space
Простір оголошення типу містить матеріал, який можна використовувати як анотацію типу. Наприклад нижче наведено кілька декларацій типів:
Це означає, що ви можете використовувати Foo
, Bar
, Bas
як анотацію типу. Наприклад:
Зауважте, що навіть якщо у вас є інтерфейс
, ви не можете використовувати її як змінну, оскільки вона не сприяє простору оголошення змінних. Це показано нижче:
Причина, чому він каже не вдається знайти ім’я
, полягає в тому, що ім’я Bar
не визначено у просторі оголошення змінної. Це підводить нас до наступної теми «Простір оголошення змінних».
Variable Declaration Space
Простір оголошення змінної містить матеріал, який можна використовувати як змінну. Ми побачили, що наявність class Foo
вносить тип Foo
в простір оголошення type. Вгадай що? Він також додає змінну Foo
до простору оголошення змінної, як показано нижче:
Це чудово, оскільки іноді ви хочете передати класи як змінні. Пам'ятайте, що:
ми не могли використовувати щось на зразок
інтерфейсу
, який є тільки у просторі оголошення type як змінну.
Подібним чином те, що ви оголошуєте за допомогою var
, знаходиться тільки в просторі оголошення variable і не може використовуватися як анотація типу:
Причина, чому написано не вдається знайти ім’я
, полягає в тому, що ім’я foo
не визначено у просторі оголошення type.
Last updated