В вашем коде у вас есть только один аргумент в первом примере, который является массивом.Присоединение к одному элементу удалит скобки:
var test = function() {
var args = Array.prototype.join.call(arguments,"_");
return args
};
console.log(test([1,2,3])) // args = [[1,2,3]]
console.log(test(1,2,3)) // args = [1,2,3]
console.log([[1,2,3]].join('_'))
console.log([1,2,3].join('_'))
Еще один способ взглянуть на это - предоставить другой массив в качестве аргумента для test()
:
var test = function() {
var args = Array.prototype.join.call(arguments,"_");
return args
};
console.log(test([1,2,3], [4,5,6]))