Функции

«Функции — один из фундаментальных основ любого JavaScript приложения. TypeScript несколько расширяет возможности функций по сравнению с JavaScript.»

Объявление функции с типами

// Стрелочная
let add = (x: number, y: number): number => x + y

// Обычная
function add(x: number, y: number): number {
  return x + y
}

void — функция без возвращаемого значения

function log(message: string): void {
  console.log(message)
}

Необязательные параметры

Помечаются ?, должны идти после обязательных:

function fullName(firstName: string, lastName?: string) {
  return lastName ? firstName + ' ' + lastName : firstName
}

Значения по умолчанию

function greeting(name: string = 'Мир') {
  return 'Привет, ' + name + '!'
}

Rest параметры

function addNumbers(...numberArray: number[]) {
  return numberArray.reduce((sum, n) => sum + n, 0)
}
addNumbers(1, 2, 3, 4, 5)  // 15