7 концепцій функцій TypeScript, які обов’язково слід знати для співбесід з програмування.

Функції є основою TypeScript, і розуміння того, як ефективно їх використовувати, може допомогти вам виділитися під час співбесіди. Ось 7 важливих моментів про функції в TypeScript, які допоможуть вам успішно пройти співбесіду з кодування:

1. Параметри з розширенням (Rest Parameters)

TypeScript підтримує параметри з розширенням, що дозволяє вам обробляти довільну кількість аргументів як масив.

Приклад:

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

Це ідеально підходить для таких сценаріїв, як підсумовування списку чисел.

2. Перевантаження функцій (Function Overloading)

Перевантаження функцій дозволяє визначити кілька сигнатур для однієї функції. Це корисно для створення гнучких API.

Приклад:

function combine(a: string, b: string): string;  
function combine(a: number, b: number): number;  
function combine(a: any, b: any): any {  
 return a + b;  
}

Реалізація обробляє різні типи введених даних, при цьому TypeScript забезпечує правильне використання.

3. Типізація this в функціях (this Typing)

Явне визначення типу this забезпечує безпеку типів під час його використання всередині функцій.

Приклад:

interface Person {  
 name: string;  
 greet(this: Person): string;  
}  
const person: Person = {  
 name: "Alice",  
 greet() {  
 return `Hi, I'm ${this.name}`;  
 }  
};

Це запобігає неправильному використанню this під час виклику функції.

4. Генерики (Generic Functions)

Генерики дозволяють функціям працювати з будь-яким типом, що робить їх багаторазовими та безпечними за типами.

Приклад:

function identity(arg: T): T {  
 return arg;  
}  
const str = identity("hello");  
const num = identity(42);

Це гарантує, що тип повернутого значення збігається з типом введеного значення.

5. Використання call, apply та bind

Використовуйте call, apply та bind, щоб явно встановити значення this.

Приклад:

function sayHello(this: { name: string }): string {  
 return `Hello, ${this.name}`;  
}  
const user = { name: "John" };  
console.log(sayHello.call(user));

Використовуйте .call, .apply або .bind для виклику функцій із конкретними значеннями this.

6. Використання call, apply та bind

Ці методи дозволяють явно контролювати контекст this функції. Розуміння їх використання демонструє володіння основами JavaScript.

Приклад:

function sayHello(this: { name: string }): string {  
 return `Hello, ${this.name}`;  
}  
const user = { name: "John" };  
console.log(sayHello.call(user));

Використовуйте .call, .apply або .bind для виклику функцій із конкретними значеннями this.

7. Повертаючі типи void та never

  • Використовуйте void для функцій, які не повертають значення.
  • Використовуйте never для функцій, які ніколи не повертають значення, наприклад, для тих, що кидають помилки.

Приклади:

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

function throwError(message: string): never {  
 throw new Error(message);  
}

Це необхідно для написання надійного коду для обробки помилок.

Поради для співбесід

  1. Зосередьтеся на крайніх випадках, таких як необов'язкові параметри та генерики.
  2. Будьте готові пояснити ваш вибір типів.

Для кращого розуміння TypeScript рекомендую Programming TypeScript: Making Your JavaScript Applications Scale. Удачі!

Застереження: Це афілійоване посилання, і я можу отримати комісію, якщо ви зробите покупку через нього без додаткових витрат для вас.

Перекладено з: 7 Must-Know TypeScript Function Concepts for Coding Interviews

Leave a Reply

Your email address will not be published. Required fields are marked *