Answer

Answer

t.me/js_test

Ответ:

class Programmer {
 static [Symbol.hasInstance](obj) {
  if (obj.writeCode) return true;
 }
}

Обьяснение:

У нас есть возможность вручную отконфигурировать работу оператора instanceof, добавив статический метод [Symbol.hasInstance](obj). Он должен вернуть либо true, либо false.

Код для проверки:

class Programmer {
 static [Symbol.hasInstance](obj) {
  if (obj.writeCode) return true;
 }
}

const goodProgrammer = { writeCode: ()=>{},drinkCoffe:()=>{} };

const badProgrammer = { drinkCoffe:()=>{} };

console.log(goodProgrammer instanceof Programmer);
console.log(badProgrammer instanceof Programmer);

Report Page