RE: Removing the concept of "optional any"

At first glance, to me, "any" would mean "anything except `undefined`" and "optional any" would mean "anything, including `undefined` to trigger defaults."

I'm not sure if that's useful in practice, though.

From: Boris Zbarsky <bzbarsky@MIT.EDU>
Sent: Wednesday, February 19, 2014 12:17
To: Allen Wirfs-Brock; Mark S. Miller
Subject: Re: Removing the concept of "optional any"

On 2/19/14 12:15 PM, Allen Wirfs-Brock wrote:
> if you were defining such a function in ES6, you might either write:
> function f(arg) { }  //this feels like 'any arg'
>     //f.length is 1
> or
> function f(arg=undefined) {}  //this feels like 'optional any arg'
> //  f.length is 0

That's true.

I suppose we could keep allowing "any" and "optional any" but have them
processed exactly the same way (basically special-casing "optional"
processing for "any") except for the .length behavior...  That said,
would we still want the argc check in that case?


Received on Wednesday, 19 February 2014 17:20:04 UTC