Вопрос проверяет понимание синтаксиса переименования при деструктуризации объектов в JavaScript, что необходимо для извлечения свойств с другими именами переменных.
Деструктуризация объектов в JavaScript — мощный синтаксис ES6, позволяющий извлекать значения из объектов и присваивать их переменным. Иногда имя свойства объекта не подходит для использования в текущем контексте (например, оно слишком общее или конфликтует с уже существующей переменной). Для таких случаев существует переименование.
Переименование выполняется с помощью двоеточия: слева указывается имя свойства в объекте, справа — желаемое имя переменной. Общий вид: { originalPropertyName: newVariableName }.
const user = { id: 42, name: 'Alice' };
// Извлекаем свойство 'id' в переменную с именем 'userId'
const { id: userId, name } = user;
console.log(userId); // 42
console.log(name); // 'Alice'
// Переменная 'id' не создана, доступна только 'userId'Переименование часто используется в следующих сценариях:
Пример с конфликтом имён:
function processData({ id: externalId, data }) {
// Внутри функции уже есть переменная 'id'
const id = generateInternalId();
console.log(`External ID: ${externalId}, Internal ID: ${id}`);
// Используем 'externalId' для ясности
}
processData({ id: 'abc123', data: {} });Переименование можно сочетать с установкой значений по умолчанию. Это позволяет одновременно переименовать свойство и задать значение, если оно отсутствует в объекте.
const options = { timeout: 5000 };
// Переименовываем 'timeout' в 'requestTimeout' и задаём значение по умолчанию
const { timeout: requestTimeout = 3000, retries = 3 } = options;
console.log(requestTimeout); // 5000 (взято из объекта)
console.log(retries); // 3 (значение по умолчанию)Вывод: Переименование в деструктуризации — это удобный инструмент для повышения читаемости и поддержки кода, позволяющий адаптировать имена свойств из внешних источников данных под внутренние соглашения вашей кодовой базы без дополнительных промежуточных переменных.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию