let, const, var: let и const для блочной области видимости, var для функциональной. const для констант, let для переменных, которые могут переназначаться. Стрелочные функции (Arrow Functions): Сокращенный синтаксис для объявления функций. Lexical this. Шаблонные литералы (Template Literals): Позволяют встраивать выражения и многострочные строки.
Расскажи, какая новая функциональность появилась в стандарте ES6 (ES2015) в JavaScript.
let, const, var: let и const для блочной области видимости, var для функциональной. const для констант, let для переменных, которые могут переназначаться.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
-
let, const, var: let и const для блочной области видимости, var для функциональной. const для констант, let для переменных, которые могут переназначаться.
-
Стрелочные функции (Arrow Functions): Сокращенный синтаксис для объявления функций. Lexical
this. -
Шаблонные литералы (Template Literals): Позволяют встраивать выражения и многострочные строки.
const name = "World"; const greeting = `Hello, ${name}!`; // "Hello, World!" -
Деструктурирующее присваивание (Destructuring Assignment): Удобный способ извлечения значений из массивов и объектов.
const person = { firstName: "John", lastName: "Doe" }; const { firstName, lastName } = person; // firstName = "John", lastName = "Doe" -
Spread-оператор (...) и Rest parameters (...): Spread для расширения и объединения массивов/объектов. Rest для сбора оставшихся аргументов функции в массив.
const arr1 = [1, 2]; const arr2 = [...arr1, 3, 4]; // [1, 2, 3, 4] function sum(...numbers) { return numbers.reduce((acc, current) => acc + current, 0); } sum(1, 2, 3); // 6 -
Классы (Classes): Синтаксический сахар над прототипным наследованием.
class Car { constructor(brand) { this.brand = brand; } drive() { console.log(`${this.brand} is driving.`); } } -
Модули (Modules): Средство для организации кода с помощью
importиexport.// module.js export const PI = 3.14; // main.js import { PI } from './module.js'; -
Промисы (Promises): Упрощают работу с асинхронным кодом.
new Promise((resolve, reject) => { // Асинхронная операция if (success) { resolve("Успех!"); } else { reject("Ошибка!"); } }) .then(result => console.log(result)) .catch(error => console.error(error)); -
for...of цикл: Итерация по итерируемым объектам (массивы, строки, Map, Set, etc.).
const arr = [1, 2, 3]; for (const value of arr) { console.log(value); // 1, 2, 3 } -
Set и Map: Новые структуры данных. Set для уникальных значений, Map для пар ключ-значение.