Function.prototype.bind
Приветствую вас, титаны джаваскриптовой мысли! )
Курил тут на днях сабж в очередной раз, и в "официальной" реализации полифилла наткнулся на непонятное. https://developer.mozilla.org/en-US/.../bind#Polyfill В общем, вопрос: для чего там нужен fNOP? Видно, что он используется в строке "this instanceof fNOP", но почему это нельзя заменить на "this instanceof fBound" и убрать звено, которое вроде как лишнее в цепочке прототипов? Но вроде как считается, что в полифилах на MDN ничего лишнего не бывает. |
Яростный Меч,
Могу ошибаться, я только учусь ©, но у Флэнагана в принципе такой же полифилл, но без использования конструктора fNOP(). Возможно, то что он ниже описывает в своей главе Цитата:
|
destus,
наверно, как-то с этим связано. Но у функций этого полифилла prototype всегда будет. Возможно, цель была сделать для каждого результата bind свой независимый prototype, и при наличии "this.prototype" (в строке 19) без fNOP не обойтись.. |
Часовой пояс GMT +3, время: 08:51. |