This discussion I think is going into a useless complexity.
Nobody (except w3c) is using null, or when someone is using it, it is the same way as undefined, and it is not explicit (ie a||b or a==b, not a===null), I remind some old code where we could see the use of null but can not find a single example of recent code, then the new operator(s) should treat it the same way I believe, the problem is 0 here
Le 14/06/2012 23:16, Rick Waldron a écrit :
On Thu, Jun 14, 2012 at 3:45 PM, Brendan Eich <[email protected] <mailto:[email protected]>> wrote:Rick Waldron wrote: One way to have it both ways is to have multiple syntactic forms for default value initializers. EG: function f(a = 1, b ??= 2, c ||= 3) { } //assuming ??= is undefined or null defaulting guard and ||= is falsy I'm not particularly convinced that the additional complexity is warranted but it would place the choice into ES programmers hands rather us trying to anticipate the typical intent and disadvantaging the untypical. I agree with this entirely. Including the part where Allen is not convinced to add all these forms? Yes....But it felt useful to note that ||= would compliment || and immediately understood by devsI can see adding ?? and ??= (undefined-only, not undefined-or-null). Yes, absolutely. Is ||= really worth it? It would not assign if the left side is truthy, but perhaps no one will mind.That makes complete sense to me, but again - it might not be worth adding, because a = b || c isn't that painful.Given ||= is there any oxygen left in the room for ??=?Right now, I believe the whole set compliment the current language and its operators nicely - but if it came down to one or the other, I would prefer seeing the new addition of ?? and ??=Rick /be ||= is complementary to || and makes sense - developers will embrace this as is. ?? and ??= seem like "something is unknown" and unknown things can otherwise be described as "undefined". Definitively, |null| is intentional -- which implies something "known" and therefore cannot qualify as "undefined". I think sticking to undefined will help to fix the abused "== null" patterns in extant code (I'm thinking in the long term of course) If null testing is needed: a = a != null ? a : default; _______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss
-- jCore Email : [email protected] Web : www.jcore.fr Webble : www.webble.it Extract Widget Mobile : www.extractwidget.com BlimpMe! : www.blimpme.com
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

