TypeScriptУрок 4 из 16

Функции: параметры и возвращаемый тип

У функции типизируют параметры и результат. Тогда TypeScript проверит каждый вызов: не забыт ли аргумент и того ли он типа.

Главное

  • Тип результата пишут после скобок: function total(): number.
  • Необязательный параметр помечают знаком ?, и он идёт после обязательных.
  • Значение по умолчанию сразу делает параметр необязательным и задаёт его тип.
  • void значит, что функция ничего не возвращает.
  • Стрелочные функции типизируются так же: (n: number): number => n * 2.

Пример

function formatPrice(amount: number, currency: string = "USD"): string {  return `${amount.toFixed(2)} ${currency}`;} function greet(name: string, title?: string): string {  return title ? `Hello, ${title} ${name}` : `Hello, ${name}`;} const double = (n: number): number => n * 2; function log(message: string): void {  console.log(message);} log(formatPrice(5));log(formatPrice(7.5, "EUR"));log(greet("Lee"));log(greet("Lee", "Dr."));log(`${double(21)}`);// formatPrice("5"); // error: string is not assignable to number

formatPrice(5) берёт валюту по умолчанию, а greet работает и с title, и без него. Вызов formatPrice("5") не пройдёт проверку: ожидается число.

Задание

Как пользоваться редактором⌘ Enter или Ctrl Enter — запустить код, ⇧ ⌘ Enter — проверить задание.Tab и Shift Tab сдвигают строку или выделение; Esc, затем Tab — выйти из редактора.Проверка сравнивает то, что напечатала программа, с заданием; пробелы в конце строк не важны.После двух неудачных проверок можно открыть решение. Ваш код сохраняется в этом браузере.

Сделайте у splitBill параметр people со значением 2 по умолчанию, а tipPercent — необязательным, и раскомментируйте вызовы. Вывод: «Each pays 25.00», «Each pays 30.00», «Each pays 27.50».

Вывод

Здесь появится то, что напечатает программа.