Параметры по умолчанию

Тренажер по TypeScript для пользователей с начальным уровнем подготовки.

Тренажер по TypeScript

Параметры по умолчанию позволяют задать значение аргумента функции, которое будет использовано, если при вызове аргумент не передан или передан undefined.

Синтаксис:

function greet(name: string = "Guest") { ... }

  • Значение по умолчанию указывается после знака =
  • TypeScript автоматически выводит тип из значения по умолчанию
  • Параметры по умолчанию обычно идут после обязательных

При вызове greet() без аргумента name получит значение "Guest". При вызове greet("Anna") — значение "Anna".

Этот онлайн-тренажёр поможет разобраться с синтаксисом и поведением параметров по умолчанию через практические задания.

Список тем

1. Добавь значение по умолчанию

id: 40654_default_01_replace

В этом задании вам нужно дополнить код функции, добавив значение по умолчанию для её параметра. Функция greet должна выводить приветствие, используя переданное имя, а если имя не передано — использовать значение по умолчанию. Обратите внимание на синтаксис задания параметров по умолчанию в TypeScript. Вам нужно заполнить два пропуска: оператор присваивания и само значение по умолчанию.

Заполните пропуски
function greet(name: string input1S input2S): void {
    console.log(`Привет, ${name}!`);
}

greet();
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

2. Исправь синтаксис

id: 40654_default_02_error

В этом фрагменте кода TypeScript объявлена функция с параметром по умолчанию, но допущена синтаксическая ошибка, из-за которой код не будет работать. Внимательно изучите объявление функции и найдите ошибку в указании значения параметра по умолчанию. Исправьте только ту строку, где допущена ошибка, чтобы функция корректно использовала значение по умолчанию при вызове без аргументов.

Найдите ошибку и исправьте
function greet(name: string == "Guest"): string {
    return `Hello, ${name}!`;
}
 
console.log(greet());
console.log(greet("Alice"));
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

3. Выбери правильные значения

id: 40654_default_03_select

В данном задании представлена функция TypeScript с параметрами по умолчанию. Вам необходимо выбрать из выпадающего списка подходящие значения по умолчанию для каждого параметра, чтобы функция корректно компилировалась и возвращала ожидаемый результат. Обратите внимание на типы параметров и соответствие значений этим типам. Всего в коде три пропуска, которые нужно заполнить.

Нужно правильно расставить в пропуски предложенные варианты
function createMessage(
  greeting: string = input1S,
  count: number = input2S,
  isFormal: boolean = input3S
): string {
  if (isFormal) {
    return `${greeting}, you have ${count} new messages.`;
  } else {
    return `Hey! ${count} messages for you!`;
  }
}

// Пример вызова функции
console.log(createMessage());
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

4. Что выведет функция?

id: 40654_default_04_predict

Проанализируйте код TypeScript, содержащий функцию с параметрами по умолчанию. Внимательно проследите, как значения по умолчанию вычисляются и переопределяются при вызовах функции. Выберите результат, который будет выведен в консоль после выполнения последнего вызова функции.

Выберите правильный вариант ответа
function calculate(base: number, offset: number = 10, multiplier: number = offset * 2): number {
    return (base + offset) * multiplier;
}

const a = calculate(5);
const b = calculate(5, 2);
const c = calculate(5, 2, 3);

console.log(c);
Сообщения
Проверить
Показать подсказку

5. Сопоставь вызовы и результаты

id: 40654_default_05_compare

В левой колонке приведены различные вызовы функции с параметрами по умолчанию. В правой колонке указаны результаты этих вызовов. Сопоставьте каждый вызов функции с соответствующим результатом. Обратите внимание на то, как передача аргументов, отсутствие аргументов и передача undefined влияют на использование значений по умолчанию.

Сопоставьте строки в правой(нижней) части с соответствующими строками в левой(верхней) по порядковому номеру
example()
example(5)
example(5, "привет")
example(5, "привет", true)
example(undefined, "мир")
a=5, b=привет, c=false
a=10, b=мир, c=false
a=10, b=текст, c=false
a=5, b=текст, c=false
a=5, b=привет, c=true
Сообщения
Проверить
Показать подсказку

6. Собери функцию

id: 40654_default_06_build

Из предложенных строк соберите корректную TypeScript-функцию `calculatePrice`, которая принимает два параметра: `price` (число) и `discount` (число) со значениями по умолчанию `price = 100` и `discount = 0.1`. Функция должна возвращать итоговую цену после применения скидки. Одна из строк содержит неправильный синтаксис параметра (лишний символ) и не должна входить в решение.

Перетяните в правильном порядке строки из одного блока в другой
function calculatePrice(
    price: number = 100,
    discount: number = 0.1
    tax: number: = 0.2,
): number {
    return price * (1 - discount);
}
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

7. Логика выполнения

id: 40654_default_07_analyze

Проанализируйте TypeScript-код сверху и восстановите последовательность логических шагов выполнения программы. Шаги снизу перемешаны — расставьте их в правильном порядке, чтобы отразить, как программа обрабатывает вызов функции с параметрами по умолчанию.

function greet(name: string, greeting: string = 'Hello'): string {
  return `${greeting}, ${name}!`;
}

const message = greet('Alice');
Расположите элементы в логичном порядке
Функция возвращает результат 'Hello, Alice!'
Первый параметр name получает переданное значение 'Alice'
Выполняется тело функции: создаётся строка с использованием шаблонных литералов
Функция greet вызывается с одним аргументом 'Alice'
Второй параметр greeting получает значение по умолчанию 'Hello'
Сообщения
Проверить
Показать подсказку

TypeScript: компиляция и запуск

id: 40654_compiler

Этот пример демонстрирует использование параметров по умолчанию в функциях TypeScript. Вы увидите, как функции могут работать даже при неполном наборе аргументов. Экспериментируйте: меняйте значения по умолчанию, добавляйте новые параметры, пробуйте передавать undefined и null, создавайте свои функции с разными комбинациями параметров. Обратите внимание, как TypeScript помогает избежать ошибок благодаря строгой типизации.

TS
Запустить тренажёр (TypeScript)
НайтиКурс.Ру