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
. Как я могу получить ссылку на экземпляр класса, когда он вызывается как функция?