Вопрос проверяет понимание контекста выполнения функций и поведения this в JavaScript.
Короткий ответ
this внутри callback-функции filter может быть undefined, потому что callback вызывается как обычная функция, а не как метод объекта. В строгом режиме ("use strict") значение this в таких функциях равно undefined. Контекст не “передаётся автоматически” внутрь callback. Поэтому this там часто оказывается не тем, что ожидают.
Длинный ответ
Зарегистрироваться
Развернутый ответ доступен только зарегистрированным пользователям.