it's also like this in the wiki:<div><a href="http://wiki.ecmascript.org/doku.php?id=harmony:weak_maps#alternate_spec_based_on_ff6.0a1">http://wiki.ecmascript.org/doku.php?id=harmony:weak_maps#alternate_spec_based_on_ff6.0a1</a></div>
<div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Nov 28, 2012 at 1:15 PM, Brendan Eich <span dir="ltr"><<a href="mailto:brendan@mozilla.org" target="_blank">brendan@mozilla.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Agreed.<br>
<br>
Allen, did this default optional parameter to get() get dropped by accident?<br>
<br>
/be<br>
<br>
Tab Atkins Jr. wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5">
On Wed, Nov 28, 2012 at 12:12 PM, Andrea Giammarchi<br>
<<a href="mailto:andrea.giammarchi@gmail.com" target="_blank">andrea.giammarchi@gmail.com</a>>  wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
apologies, I meant it is trivial, but it depends what you are looking for /<br>
need<br>
<br>
So, since is that easy to create your own case, then no reason to add the<br>
default argument in the API<br>
</blockquote>
<br>
No, that's not the case.  Even if it's "trivial" to write it on your<br>
own, if its use-case is sufficiently common, adding it helps with the<br>
overall usability of the language.  After all, by your argument, we<br>
don't need Map#has either, since you can get around it by just doing:<br>
<br>
function mapset(map, key, val) { map.set(key, [val]); }<br>
function mapget(map, key) { return map.get(key)[0]; }<br>
function maphas(map, key) { return map.get(key) === undefined; }<br>
<br>
This lets you store undefined in a map, and still distinguish it from<br>
the key not being set at all, while using solely Map#get and Map#set,<br>
and a trivial bit of code.<br>
<br>
In this case, I agree that getting a default value from a map when the<br>
key is undefined is extremely common (I do it regularly when using<br>
dictionaries in Python), and it should be part of the default API.<br>
<br>
~TJ<br></div></div><div class="im">
______________________________<u></u>_________________<br>
es-discuss mailing list<br>
<a href="mailto:es-discuss@mozilla.org" target="_blank">es-discuss@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/es-discuss" target="_blank">https://mail.mozilla.org/<u></u>listinfo/es-discuss</a><br>
<br>
</div></blockquote>
</blockquote></div><br></div>