Области объявления¶
В TypeScript есть две области объявления: область объявления переменных и область объявления типов. Эти понятия рассматриваются ниже.
Область объявления типов¶
Область объявления типа содержит данные, которые можно использовать в качестве описания типа. Например, ниже приведены несколько объявлений типов:
1 2 3 |
|
Это означает, что вы можете использовать Foo
, Bar
, Bas
и т. д. в качестве описания типа переменных. Например:
1 2 3 |
|
Обратите внимание, что даже если у вас есть interface Bar
, вы не можете использовать его как переменную, поскольку он не вносится в пространство объявления переменных. Это показано ниже:
1 2 |
|
Причина, по которой выдаётся ошибка не могу найти имя
, заключается в том, что имя Bar
не определено в пространстве объявления переменных. Это подводит нас к следующей теме «Пространство объявления переменных».
Область объявления переменных¶
Область объявления переменных содержит данные, которые вы можете использовать в качестве переменной. Мы видели, что class Foo
добавляет тип Foo
в область объявления типов. B угадайте, что? он также добавляет переменную Foo
в область объявления переменных, как показано ниже:
1 2 3 |
|
Это здорово, так как иногда вы хотите передавать классы как переменные. Помните, что:
- мы не могли бы использовать что-то вроде
interface
, который находится только в области объявления типов в качестве переменной.
Точно так же то, что вы объявляете с помощью var
, находится только в области объявления переменных и не может использоваться как описание типа:
1 2 |
|
Причина, по которой выдаётся ошибка не могу найти имя
, заключается в том, что имя foo
не определено в области объявления типов.