Мохан, вы использовали то, что в объектно-ориентированном программировании называется конструктор объекта для создания объекта canary
, для этого используется ключевое слово new
и один из двух способов создания объекта в JavaScript, другой способ заключается в использовании {}
, который известен как литерал объекта .
В любом случае, далее следует понимание вспомогательных методов массива , таких как filter()
, обратите внимание на вспомогательный метод array . Вы не можете запустить filter()
на объекте, который вы инициализировали canary
, как когда вы это сделали:
let canary = new Bird("Tweety");
Я знаю, что ошибка «фильтр не является функцией» не проясняет это, но в основном говорит вам «эй, это объект, на котором вы пытаетесь запустить вспомогательную функцию массива», следовательно, фильтр не является функцией (для объекта).