I think this is more about improving readability than saving a few
characters.
On 08/10/2016 11:10 AM, Isiah Meadows wrote:
I'll note that it's longer than just typing them out manually (and
close if they're aliased):
```js
Function.IDENTITY
IDENTITY
x => x
Function.NOOP
NOOP
() => {}
```
Not sure if it adds anything.
On Tue, Aug 9, 2016, 14:44 Eli Perelman <[email protected]
<mailto:[email protected]>> wrote:
I'm not sure if something like this has been proposed before, but
I often find myself declaring constants for the identity function
and the no-op function. I think it would be useful to have
constants available on Function containing these values. For
example `Function.IDENTITY` and `Function.NOOP`. Essentially these
constants would map to:
```js
Function.IDENTITY = (a) => a;
Function.NOOP = () => null; // or:
Function.NOOP = () => {};
```
These could then be used in places where non-user-controlled APIs
need default functions need to be executed, or as placeholders for
default values that may be executed before a function has been
supplied. For example:
```js
// third-party API requires a callback or throws, but no
functionality really needs to done:
thirdParty.action(Function.NOOP);
// Function needs a default which *may* execute prior to having a
different one specified (contrived):
const action = (handler = Function.IDENTITY, value = 10)
=>handler(value);
```
Thoughts? Seems like something simple with positive value. Thanks!
Eli Perelman
_______________________________________________
es-discuss mailing list
[email protected] <mailto:[email protected]>
https://mail.mozilla.org/listinfo/es-discuss
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss