Spread and non objects

Brendan Eich brendan at mozilla.com
Thu Nov 4 18:12:11 PDT 2010


On Nov 4, 2010, at 6:07 PM, John Lenz wrote:

> It would seem friendlier for the spread operator to treat it them as a empty array otherwise you end up with code like:
> 
> if (x!=null) {
>   f(1,2,...x)
> } else  {
>   f(1,2)
> }

Yeah, null testing is a drag. People skipt it (I hear this about regexp exec -- it should return an empty array on mismatch -- counter-argument is that empty arrays are truthy).

+1 on Erik's plan B.

/be

> 
> 
> On Thu, Nov 4, 2010 at 5:54 PM, Erik Arvidsson <erik.arvidsson at gmail.com> wrote:
> We've run into an edge case with the spread operator. What should
> happen if we try to spread null or undefined?
> 
> f(...undefined);
> 
> A. Throw an error
> B. Follow the path of Function.prototype.apply and others and special
> case null and undefined and just call f with 0 arguments
> 
> --
> erik
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
> 
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20101104/08107530/attachment-0001.html>


More information about the es-discuss mailing list