Function constants for Identity and No-op

Michał Wadas michalwadas at gmail.com
Wed Aug 10 14:20:40 UTC 2016


Using instanceof Function can be confusing, because there are objects that
are callable but not instanceof Function (document.all,
document.createElement('object'), any cross-realm function).

Function.isFunction? :D

On Wed, Aug 10, 2016 at 4:00 PM, Mark S. Miller <erights at google.com> wrote:

>
>
> On Wed, Aug 10, 2016 at 4:53 AM, Andy Earnshaw <andyearnshaw at gmail.com>
> wrote:
>
>> On Wed, 10 Aug 2016 at 12:42 Michał Wadas <michalwadas at gmail.com> wrote:
>>
>>> Function.prototype is no-op (run Function.prototype.toString() for more
>>> information)
>>>
>>
>> That's true, but using `Function.prototype` can be confusing
>>
>
> Indeed.
>
> > Function.prototype instanceof Function
> false
>
>
>
>> when passed to a function as a callback:
>>
>>     someFunc(Function.prototype);
>>
>> It's not immediately clear that `someFunc` is expecting a callback
>> function in this case, whereas `Function.NOOP` or `() => {}` are pretty
>> obvious.
>>
>> _______________________________________________
>> es-discuss mailing list
>> es-discuss at mozilla.org
>> https://mail.mozilla.org/listinfo/es-discuss
>>
>>
>
>
> --
>     Cheers,
>     --MarkM
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20160810/649a5eb9/attachment.html>


More information about the es-discuss mailing list