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);