<div dir="ltr">I think the main concern was:<div><br><div>> <span style="color:rgb(80,0,80);font-size:12.8000001907349px">Currently I can't see a way of getting default parameters as an iterable object.</span><div><div><br></div><div> and indeed `arguments` is not the magic variable you are looking for.</div></div></div></div><div><br></div><div>However, you are inside your own defined function so either you don't specify defaults, or you iterate over `[a, b]` ?</div><div><br></div><div>Interesting enough, there's no actually a way to understand the function signature, in terms of optionally accepted arguments.</div><div><br></div><div>`arguments.length` is one and same is for `foo.length` so if we'd like to understand if anyone invoked the function passing or not all optional parameters, how could we proceed?</div><div><br></div><div>Lets say `foo` would like to delegate its own arguments including defined defaults to another function ... how can we grab these at runtime?</div><div><br></div><div>I think the answer is still a static `[a, b]` as list of arguments to apply, but I can see some lack of "reflection" capability ... or maybe Reflect would solve this?</div><div><br></div><div>Regards</div><div><br></div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Mar 25, 2015 at 4:56 PM, Rick Waldron <span dir="ltr"><<a href="mailto:waldron.rick@gmail.com" target="_blank">waldron.rick@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><br><div class="gmail_quote"><span class="">On Wed, Mar 25, 2015 at 2:40 AM Robin Cafolla <<a href="mailto:robin@zombiemongoose.com" target="_blank">robin@zombiemongoose.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div>Hi there,<br><br></div>I was wondering if there were any plans to modify `arguments` to include default parameters (e.g. changing it from a simpleParameterList) or to include a new property that does allow iteration of all values available to a function.<br><br></div>for example:<br><span style="font-family:monospace,monospace"><br></span></div><span style="font-family:monospace,monospace">    function foo( a, b = 2 ) {<br></span></div><span style="font-family:monospace,monospace">        return arguments;<br></span><div><span style="font-family:monospace,monospace">    }<br><br></span></div><div><span style="font-family:monospace,monospace">    console.log( foo( 1 ) ); // outputs [ 1 ], not [ 1, 2 ]</span><br></div><div><div><div><div><div><br></div><div>Currently I can't see a way of getting default parameters as an iterable object.<br></div><div><br>I filed a bug with Mozilla over this, but they pointed out that the behaviour matches the spec.<br><div><br><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1144672" target="_blank">https://bugzilla.mozilla.org/show_bug.cgi?id=1144672</a></div></div></div></div></div></div></div></blockquote><div><br></div></span><div><div><br>This is correct, because only one _argument_ was passed, therefore the arguments object has only one entry. Parameters are not the same as Arguments.</div><div><br></div><div>Therefore: </div><div><br></div><div>  foo(1, 3) => [1, 3]<br></div><div><br></div><div>Because two arguments were passed. And: </div><div><br></div><div>  foo(1, 2, 3) => [1, 2, 3]<br></div><div><br></div><div>Because three were passed.</div><div><br></div><div>Hopefully that helps clarify?</div><span class="HOEnZb"><font color="#888888"><div><br></div><div>Rick</div></font></span></div></div></div>
<br>_______________________________________________<br>
es-discuss mailing list<br>
<a href="mailto:es-discuss@mozilla.org">es-discuss@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/es-discuss" target="_blank">https://mail.mozilla.org/listinfo/es-discuss</a><br>
<br></blockquote></div><br></div>