Да, но это также работает, когда вы передаете контекст ему, как
const arr = Array.prototype.concat.call([],1,2,3);
console.log(arr);
Нет никакой разницы только потому, что Array.prototype
совпадает с []
. Но если у вас есть массивоподобный объект вместо массива, и вы хотите вызвать какой-нибудь метод массива, вам нужно использовать call
или bind
.
Вероятно, наиболее часто используемым является
Array.prototype.slice.call(arguments)
, который превращает arguments
функции (которая не является реальным массивом) в массив.