Вывод кода:
const arr = [1, 2, 3, 4, 5];
console.log([...arr + []]);
дает
[ '1', ',', '2', ',', '3', ',', '4', ',', '5' ]
Я знаю, ...arr
вернет элементы массива (как 1 2 3 4 5), а number + []
даст строку, но я действительно запутался, почему ,
был добавлен в выходной массив.
Это потому, что ...arr
в console.log()
оказывается [..."1, 2, 3, 4, 5" + []]
, в котором выходные данные одинаковы?
Или это какое-то волшебное объяснение, о котором я не знаю?