Indeed, there exists a distinction between the two methods. One method assigns the values to a new object while the other assigns the values to a new array.
Take a look at the displayed results here and compare them with what appears in the actual browser console.
var abc = {foo:"bar"};
var r1 = Object.assign({},abc);
var r2 = Object.assign([],abc);
console.log(r1);
console.log(r2);
It's important to note that the second method does not add a new item to the array - it will still have a length of 0.