javascript interview question #22

Что будет выведено на экран?

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

В первой строке, мы сохранили функцию Object.prototype.toString в константу toString. Эта функция вызывается тогда, когда нужно преобразовать объект в строку.

У большинства объектов, функция toString переопределена. Например, у массивов, она выведена на экран список всех значений массива через запятую.

Обычное поведение функции Object.prototype.toString в браузере — это строка вида [object "TYPE"]. Часть “TYPE” заменяется на тип объекта, на котором вызывается toString. В нашем случае — это Array.

Итого, при вызове toString.call(arr) мы обратимся к оригинальной реализации Object.prototype.toString и поэтому в консоли не появится перечисление всех элементов массива.


ОТВЕТ: на экран будет выведена строка [object Array].