Деструктуризация массивов в JavaScript и TypeScript позволяет "распаковать" значения из массива и присвоить их переменным в единой операции. Вот как она работает:

  1. Базовая деструктуризация: Присвоение элементов массива переменным в порядке их следования.

    CopyInsert

    const arr = [1, 2, 3]; const [a, b, c] = arr; console.log(a); // Вывод: 1 console.log(b); // Вывод: 2 console.log(c); // Вывод: 3

  2. Пропуск элементов: Если необходимо пропустить некоторые элементы, можно использовать запятые без указания переменных.

    CopyInsert

    const arr = [1, 2, 3, 4]; const [x, , , z] = arr; console.log(x); // Вывод: 1 console.log(z); // Вывод: 4

  3. Остаточные элементы: С помощью оператора ... можно присвоить оставшуюся часть массива другой переменной в виде нового массива.

    CopyInsert

    const arr = [1, 2, 3, 4, 5]; const [first, ...rest] = arr; console.log(first); // Вывод: 1 console.log(rest); // Вывод: [2, 3, 4, 5]

  4. Значения по умолчанию: Можно устанавливать значения по умолчанию для переменных, на случай если соответствующий элемент массива отсутствует или undefined.

    CopyInsert

    const arr = [1, 2]; const [a, b, c = 3] = arr; console.log(a); // Вывод: 1 console.log(b); // Вывод: 2 console.log(c); // Вывод: 3 (значение по умолчанию)

  5. Деструктуризация части массива: Можно деструктурировать только часть массива, если не нужны все элементы.

    CopyInsert

    const arr = [1, 2, 3, 4]; const [first, second] = arr; console.log(first); // Вывод: 1 console.log(second); // Вывод: 2

Деструктуризация массива очень полезна для упрощения кода и избежания необходимости обращаться к элементам массива по индексу. Это делает код более чистым и легким для понимания.