Тип «Неопределено»
Тип Неопределено имеет единственное значение, задаваемое литералом Неопределено. Это значение применяется, когда необходимо использовать пустое значение, не принадлежащее ни к одному другому типу. Например, такое значение изначально имеют переменные, объявленные с типом неизвестно.
На этапе компиляции допускается присваивание переменной значения составного типа, включающего тип Неопределено, например Строка и Неопределено:
пер Переменная1: Строка?
То есть ? после имени типа означает составной тип, включающий:
- тип, после имени которого записан ?
- Неопределено
На время компиляции также допускается вызов методов типа Тип от значений составного типа, включающего Неопределено. Если во время исполнения в такую переменную типа попадет значение Неопределено, то выполнение программы завершится выбрасыванием исключения.
Особенность Неопределено:
метод Скрипт()
пер Значение: Строка
пер Значение2: Строка|Неопределено
пер Значение3: Строка|Число|Неопределено
Значение = Значение2 // OK, возможна ошибка времени исполнения
Значение2.Длина() // OK, возможна ошибка времени исполнения
Значение2 = Значение3 // Ошибка компиляции
Значение = Неопределено // Ошибка компиляции
;