Тест · Функции · урок 4 из 10Тест — ? или значение по умолчаниюЧем необязательный параметр ? отличается от параметра со значением по умолчанию?[A]Значение по умолчанию расширяет параметр до string | undefined так же, как ?, поэтому проверка внутри тела нужна в обоих случаях. Разница лишь в том, что оно срабатывает и на null, а ? реагирует только на пропущенный аргумент или undefined.[B]Значение по умолчанию вычисляется один раз, при объявлении функции, и его делят все вызовы: значение [] по умолчанию окажется одним массивом на всех. ? ничего не вычисляет и оставляет параметру тип string без проверки.[C]Это два написания одной возможности: оба оставляют параметру тип string внутри тела, а проверку на undefined tsc добавляет в JavaScript сам. Поэтому name?: string = "гость" — обычный способ записать в сигнатуре необязательный параметр вместе с его запасным значением.[D]Оба позволяют не передавать аргумент, но тип внутри тела разный. name?: string там — string | undefined, и его надо проверить. name = "гость" остаётся string, ведь значение по умолчанию заменяет любой undefined. Совместить оба на одном параметре нельзя.← НазадПараметры: необязательные, по умолчанию, остаточныеДалее →Тип функции