Тип «Неопределено»

Тип Неопределено имеет единственное значение, задаваемое литералом Неопределено. Это значение применяется, когда необходимо использовать пустое значение, не принадлежащее ни к одному другому типу. Например, такое значение изначально имеют переменные, объявленные с типом неизвестно.

На этапе компиляции допускается присваивание переменной значения составного типа, включающего тип Неопределено, например Строка и Неопределено:

пер Переменная1: Строка?

То есть ? после имени типа означает составной тип, включающий:

  • тип, после имени которого записан ?
  • Неопределено

На время компиляции также допускается вызов методов типа Тип от значений составного типа, включающего Неопределено. Если во время исполнения в такую переменную типа попадет значение Неопределено, то выполнение программы завершится выбрасыванием исключения.

Особенность Неопределено:

метод Скрипт()
    пер Значение: Строка
    пер Значение2: Строка|Неопределено
    пер Значение3: Строка|Число|Неопределено

    Значение = Значение2 // OK, возможна ошибка времени исполнения
    Значение2.Длина() // OK, возможна ошибка времени исполнения
    Значение2 = Значение3 // Ошибка компиляции
    Значение = Неопределено // Ошибка компиляции
;