JavaScript-программисты обычно используют их как взаимозаменяемые, хотя между ними и есть тонкое семантическое различие, достойное упоминания: undefined означает, что нечто еще не было определено, а null показывает отсутствие значения (как если бы вы пытались вычислить значение, но сталкивались при этом с ошибкой). Это всего лишь условности, и TypeScript вас не принуждает к их соблюдению, однако будет полезным понимать разницу.
Тип
Набор значений и применимых к ним операций.
Тип Option
Исключения можно описывать с помощью особых типов данных. У этого подхода есть свои проблемы (в частности, код может не распознавать особые типы), но он дает возможность связывать цепочки операций над потенциально ошибочными вычислениями. Три наиболее популярные опции — это типы Try, Option34 и Either. В этой главе мы рассмотрим только тип Option35, потому что остальные типы с ним схожи.