Перевод на русский язык (ru)

TypeScript - Анонимные функции: руковод для начинающих

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

TypeScript - Anonymous Functions

Что такое匿名ные функции?

Прежде чем мы углубимся, давайте разберем, что мы подразумеваем под "анонимными функциями". В мире программирования мы часто даем имена нашим функциям, например, "calculateTotal" или "sendEmail". Но иногда мы создаем функции, которым не нужен名字 – они resemble маскированные герои программирования. Эти безымянные чудеса мы называем匿名ными функциями.

Представьте, что вы на маскарадном балу. Все носят роскошные маски, и вы не видите их лиц или не знаете их имен. Но они все равно могут танцевать, разговаривать и веселиться. Это sorta как匿名ные функции в нашем коде – они выполняют задачи, не нуждаясь в formal представлении!

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

Определение анонимных функций с использованием ключевого слова 'function'

Первый способ создания анонимной функции – это использование доброго старого ключевого слова 'function'. Вот как это выглядит:

let greet = function(name: string) {
console.log("Hello, " + name + "!");
};

greet("Alice"); // Вывод: Hello, Alice!

В этом примере мы создаем функцию, которая здоровается с кем-то. Давайте разберем это:

  1. Мы начинаем с let greet =. Это мы создаем переменную 'greet'.
  2. После знака равенства у нас function(name: string) { ... }. Это наша анонимная функция.
  3. Внутри фигурных скобок { } у нас тело функции – то, что функция на самом деле делает.
  4. Затем мы можем использовать эту функцию, вызвав greet("Alice").

Это как если бы мы создали友好ного робота, который может здороваться с кем угодно, и дали роботу кодовое имя 'greet'!

Определение анонимных функций с использованием синтаксиса arrow функции

Теперь давайте рассмотрим более современный и краткий способ записи匿名ных функций – синтаксис arrow функции. Это как спортивный автомобиль в мире функций: гладкий, быстрый и красивый!

let add = (a: number, b: number): number => {
return a + b;
};

console.log(add(5, 3)); // Вывод: 8

Вот что происходит:

  1. Мы создаем переменную 'add'.
  2. Часть (a: number, b: number) определяет параметры, которые принимает наша функция.
  3. : number после скобок указывает, что наша функция будет возвращать число.
  4. => делает эту функцию箭очной функцией (она sorta похожа на стрелку, правда?).
  5. Внутри { } у нас тело функции.

Мы можем сделать это еще короче для простых функций:

let multiply = (a: number, b: number): number => a * b;

console.log(multiply(4, 6)); // Вывод: 24

В этом случае мы удалили { } и ключевые слова return. Это как если бы наша функция говорила: "Я так проста, мне не нужны все эти лишние символы!"

Использование匿名ных функций в качестве callback функций

Теперь, где匿名ные функции действительно сияют – это в качестве callback функций. Callback функция – это функция, которую мы передаем другой функции в качестве аргумента. Это как сказать другу: "Эй, когда ты закончишь свою задачу, сделай это для меня."

Давайте рассмотрим пример с использованием функции setTimeout:

setTimeout(() => {
console.log("Это сообщение появится через 2 секунды!");
}, 2000);

В этом коде:

  1. setTimeout – это функция, которая ждет указанное количество времени перед выполнением某种 действия.
  2. Первый аргумент – это наша анонимная функция, записанная в виде箭очной функции.
  3. Второй аргумент (2000) – это количество миллисекунд, которое нужно подождать (2 секунды).

Это как если бы мы установили таймер и сказали ему: "Когда ты сработаешь, 显示 это сообщение!"

Вот еще один пример с использованием методов массива:

let numbers = [1, 2, 3, 4, 5];

let doubledNumbers = numbers.map((num) => num * 2);

console.log(doubledNumbers); // Вывод: [2, 4, 6, 8, 10]

В этом случае:

  1. У нас есть массив чисел.
  2. Мы используем функцию map, которая применяет функцию к каждому элементу массива.
  3. Наша анонимная функция (num) => num * 2 удваивает каждое число.
  4. Результатом является новый массив с удвоенными числами.

Это как если бы мы создали машину, которая берет каждое число, удваивает его и puts его в новую коробку!

Заключение

И вот мы и разобрались,folks! Мы вскрыли тайну匿名ных функций в TypeScript. Помните, эти функции resemble полезные крошечные эльфы в вашем коде – они выполняют свою работу, не needing formal бейджика.

Вот краткое резюме методов, которые мы изучили, представленных в удобной таблице:

Метод Синтаксис Пример
Ключевое слово Function let funcName = function(params) { ... } let greet = function(name: string) { console.log("Hello, " + name); }
Arrow Function (многострочный) let funcName = (params) => { ... } let add = (a: number, b: number) => { return a + b; }
Arrow Function (однолинейный) let funcName = (params) => expression let multiply = (a: number, b: number) => a * b;
В качестве Callback someFunction(() => { ... }) setTimeout(() => { console.log("Время истекло!"); }, 1000);

Практикуйтесь в использовании этих различных методов, и вскоре вы будете создавать匿名ные функции как coding ninja! Помните, в программировании, как и в жизни, иногда самые могущественные силы работают за кулисами. Счастливого кодирования!

Credits: Image by storyset