Запитання для співбесіди з JavaScript 2025

1. У чому різниця між var, let та const в JavaScript?

  • var: Обмежений функцією, може бути перевизначений, підвищений.
  • let: Обмежений блоком, не може бути перевизначений, не підвищений.
  • const: Обмежений блоком, не може бути змінений.

Приклад:

var x = 10;  
let y = 20;  
const z = 30;  

x = 15; // Дозволено  
y = 25; // Дозволено  
z = 35; // Помилка: спроба присвоїти значення змінній, яка є константою

2. Поясніть концепцію замикань (closures) в JavaScript з прикладом.

  • Замикання виникає, коли функція зберігає доступ до свого лексичного оточення, навіть коли виконується поза ним.
  • Приклад:
function outer() {  
 let count = 0;  
 return function inner() {  
 count++;  
 return count;  
 };  
}  
const counter = outer();  
console.log(counter()); // 1  
console.log(counter()); // 2

3. Як працює ключове слово this в JavaScript?

  • Вказує на об'єкт, який викликає функцію.
  • Контекст змінюється залежно від того, як викликається функція.
  • Приклад:
const obj = {  
 name: 'Forhad',  
 getName: function () {  
 return this.name;  
 }  
};  
console.log(obj.getName()); // "Forhad"

4. Що таке функції вищого порядку, і чи можете ви навести приклад?

  • Функції, які приймають інші функції як аргументи або повертають функції.
  • Приклад:
const numbers = [1, 2, 3, 4];  
const squared = numbers.map(num => num * num);  
console.log(squared); // [1, 4, 9, 16]

5. У чому різниця між синхронним та асинхронним JavaScript?

  • Синхронний: Виконує код послідовно.
  • Асинхронний: Дозволяє неконкурентне виконання за допомогою зворотних викликів (callbacks), обіцянок (promises) або async/await.
  • Приклад:
console.log('Start');  
setTimeout(() => console.log('Асинхронна операція'), 1000);  
console.log('End');

6. Поясніть різницю між методами forEach та map в масивах.

  • forEach: Ітерує елементи, не повертаючи нового масиву.
  • map: Створює новий масив з результатами функції зворотного виклику.
  • Приклад:
const arr = [1, 2, 3];  
arr.forEach(num => console.log(num * 2)); // Логує: 2, 4, 6  
const doubled = arr.map(num => num * 2);  
console.log(doubled); // [2, 4, 6]

7. Що таке обіцянки (promises), і як їх використовувати?

  • Обіцянки використовуються для обробки асинхронних операцій та уникнення "пекла зворотних викликів" (callback hell).
  • Приклад:
const promise = new Promise((resolve, reject) => {  
 const success = true;  
 if (success) resolve('Успіх');  
 else reject('Помилка');  
});  

promise.then(console.log).catch(console.error);

8. Що таке стрілочні функції, і чим вони відрізняються від звичайних функцій?

  • Коротший синтаксис, не мають власного this.
  • Приклад:
const add = (a, b) => a + b;  
console.log(add(5, 3)); // 8




Перекладено з: [JavaScript Interview Questions 2025](https://mdforhadsarker.medium.com/javascript-interview-questions-2025-b6f23bc75f17)

Leave a Reply

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