2015-04-30 9 views
2

В чем смысл этого? Это касается метода Array.prototype.concat, но он повторяется снова и снова по всему спектру, для ряда методов.В чем смысл этой заметки в спецификации?

Функция concat намеренно является общей; он не требует, чтобы это значение было объектом Array. Поэтому он может быть перенесен на другие виды объектов для использования в качестве метода. Независимо от того, успешно ли применяется функция concat для объекта-хозяина, это зависит от реализации.

Можете ли вы объяснить это простой формулировкой, возможно, также привести пример?

ответ

1

Это означает, что вы можете применить метод к массивоподобному объекту, даже если это не Array. К ним относятся NodeList и объект arguments.

Я иногда использовать эту функцию, чтобы превратить arguments объект в массив: [].slice.call(arguments) возвращает список аргументов как Array объекта, давая мне родной доступ ко всем методам массива.

Вы можете прочитать об этом на MDN.

Смежные вопросы