Можно присвоить, но они будут не копией, а одним и тем же массивом
Вы в своем примере не просто выводите массив, а измените его, выведите оба и увидите разницу
const q1 = [1, 2, 3];
const q2 = q1;
q1[0] = 666;
console.log(q1, q2);
[666, 2, 3] [666, 2, 3]
Изменились оба одинаково - один и тот же массив
const q1 = [1, 2, 3]
const q2 = [...q1];
q1[0] = 666;
console.log(q1, q2);
[666, 2, 3] [1, 2, 3]
Изменился только q1
Каждый раз поражаюсь новичкам, которые считают в языке что-то "лишним"
Лишнего ничего нет, просто вы еще не умеете это готовить