What would `typeof` return on a callable object? There's a lot of code on the web that uses a typeof of "function" to determine if something is safe to call. There's also a lot of code on the web that uses a typeof of "function" to do type detection. How would you suggest a callable object navigate these potentially conflicting constraints?
On Tue, Dec 4, 2018 at 10:07 AM T.J. Crowder < tj.crow...@farsightsoftware.com> wrote: > On Tue, Dec 4, 2018 at 5:02 PM Sultan > <thysul...@gmail.com> wrote: > > > > Something along the lines of Symbol.iterator protocol for defining > > callback objects i.e: Symbol.callable: > > That's interesting. What's the primary motivation? Binding the data? > That's easily done with a closure ([fiddle[1]): > > ```js > const obj = (() => { > let value = 'value'; > return () => value; > })(); > > console.log(obj() === 'value'); // true > ``` > > It's a bit more verbose than one would like, but usually that's washed out > by the implementation (which is really trivial above). > > You can also do it with a Proxy on a function, but it doesn't really buy > you anything. > > Be interested to know more about why you want non-function callable > objects. > > -- T.J. Crowder > > [1]: http://jsfiddle.net/8qvpc7Lh/ > _______________________________________________ > es-discuss mailing list > es-discuss@mozilla.org > https://mail.mozilla.org/listinfo/es-discuss >
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss