ES6 позволяет расширять специальные объекты. Таким образом, можно наследовать от функции. Такой объект можно назвать функцией, но как я могу реализовать логику для такого вызова?
class Smth extends Function {
constructor (x) {
// What should be done here
super();
}
}
(new Smth(256))() // to get 256 at this call?
Любой метод класса получает ссылку на экземпляр класса через this. Но когда он вызывается как функция, this относится к window. Как я могу получить ссылку на экземпляр класса, когда он вызывается как функция?