Оператор spread и слияние массивов

Пусть у нас есть два массива:

javascriptlet arr1 = ['a', 'b', 'c'];
let arr2 = [1, 2, 3];

Давайте сделаем так, чтобы между первым и вторым элементами массива arr2 вставились элементы массива arr1.

Говоря другими словами, мы хотим написать код, который из текущего массива arr2 сделает следующий массив:

javascript[1, 'a', 'b', 'c', 2, 3]

Задача, в общем-то, решаема через метод splice. Однако, гораздо проще эта задача решается через spread:

javascriptlet arr1 = ['a', 'b', 'c'];
let arr2 = [1, ...arr1, 2, 3];

console.log(arr2); // выведет [1, 'a', 'b', 'c', 2, 3]
Задание 1

Не запуская код, определите, что выведется в консоль:

javascriptlet arr1 = [1, 2, 3];
let arr2 = [4, 5, 6];

let arr  = ['a', ...arr1, 'b', 'c', ...arr2];
console.log(arr);
Задание 2

Не запуская код, определите, что выведется в консоль:

javascriptlet arr1 = [1, 2, 3];
let arr2 = [4, 5, 6];

let arr  = ['a', ...arr1, ...arr1, 'b', 'c'];
console.log(arr);
Задание 3

Не запуская код, определите, что выведется в консоль:

javascriptlet arr1 = [1, 2, 3];
let arr2 = [...arr1, 4, 5, 6];

let arr  = ['a', 'b', 'c', ...arr2];
console.log(arr);
Задание 4

Не запуская код, определите, что выведется в консоль:

javascriptlet arr1 = [1, 2, 3];
let arr2 = [...arr1, 4, 5, 6];
let arr3 = [...arr2, 7, 8, 9];

let arr  = [0, ...arr3];
console.log(arr);
Задание 5

Не запуская код, определите, что выведется в консоль:

javascriptlet arr1 = [1, 2, 3];
let arr2 = [...arr1];

console.log(arr2);