Замыкания
Замыкания позволяют функциям запоминать область видимости, в которой они были созданы, даже после того, как эта область перестала существовать.
// Пример замыкания
function outer() {
let counter = 0;
return function() {
counter++;
return counter;
};
}
const increment = outer();
console.log(increment()); // 1
console.log(increment()); // 2
Контекст выполнения и this
Контекст выполнения в JavaScript определяется значением ключевого слова this, которое может изменяться в зависимости от того, как была вызвана функция.
// Пример использования this
const person = {
name: 'John',
greet: function() {
console.log(`Привет, меня зовут ${this.name}`);
}
};
person.greet(); // Привет, меня зовут John
Работа с данными
JavaScript предоставляет мощные методы для работы с массивами и другими структурами данных, такие как map, filter и reduce.
// Пример использования map
let numbers = [1, 2, 3, 4];
let squared = numbers.map(num => num * num);
console.log(squared); // [1, 4, 9, 16]