void 0 is identical to undefined, I perfectly know it, and I have no idea
who decided that undefined === absent ..

```

alert(absent); // this is error


alert(undefined); // this is undefined
var undefined;

```

I think ignoring undefined, if that's what has been decided, is a mistake.
As easy as that.




On Sun, Nov 10, 2013 at 2:20 PM, Oliver Hunt <[email protected]> wrote:

>
> On Nov 10, 2013, at 2:12 PM, Andrea Giammarchi <
> [email protected]> wrote:
>
> I think I've completely missed the `undefined === absent` conversation ...
> so if I have an object, and `obj.key = void 0` why `key` would be
> considered absent, exactly? `undefined` is a very well described "value",
> passing stuff around thinking has a value but getting ignored by signatures
> and who knows what else is a door to hell in the real world.
>
>
> void <expression>
>
> simply evaluates expression and sets the return continuation value to
> undefined.
>
> void 0 is identical to |undefined| unless a containing scope has declared
> a variable named “undefined” locally.  void … does not result in a special
> value.
>
> —Oliver
>
>
> my 2 cents
>
>
> On Sun, Nov 10, 2013 at 1:49 PM, Mark S. Miller <[email protected]>wrote:
>
>> On Sun, Nov 10, 2013 at 1:30 PM, K. Gadd <[email protected]> wrote:
>>
>>> JSIL and embind both need arguments.length for efficient method call
>>> dispatch when dealing with overloaded functions. Is it your intent that all
>>> such scenarios must now pay the cost of creating an array (to hold the rest
>>> arguments) and then destructuring it, for every call? At present it's
>>> possible to avoid this overhead in V8 and SpiderMonkey by using
>>> arguments.length + arguments[n] or by using arguments.length + patterned
>>> argument names.
>>>
>>
>> Hi Katelyn,
>>
>> No one is taking arguments away. Perhaps we would if we could but we
>> can't. So as I said just now to Allen, if you really need to do this, go
>> ahead and use arguments.length.
>>
>> But do you really need to do this? Assuming for a moment that we were all
>> agreed that the best practice is to treat absence the same as undefined,
>> why not go with the best practice and be done?
>>
>>
>>
>>>
>>>
>>> On Sun, Nov 10, 2013 at 1:24 PM, David Bruant <[email protected]>wrote:
>>>
>>>> Le 10/11/2013 22:19, Brendan Eich a écrit :
>>>>
>>>>  On Nov 10, 2013, at 9:12 PM, Andrea Giammarchi <
>>>>>> [email protected]> wrote:
>>>>>>
>>>>>> Not sure why this is so needed though.
>>>>>>
>>>>> Allen's posts make the case: webidl and varargs-style functions. Not
>>>>> all legacy.
>>>>>
>>>> WebIDL creates spec, not code. The language syntax doesn't need to
>>>> evolve for that. Allen showed that rest params+destructuring allows
>>>> self-hosting without |arguments|
>>>> Varargs functions have rest parameters.
>>>>
>>>> David
>>>>
>>>> _______________________________________________
>>>> es-discuss mailing list
>>>> [email protected]
>>>> https://mail.mozilla.org/listinfo/es-discuss
>>>>
>>>
>>>
>>> _______________________________________________
>>> es-discuss mailing list
>>> [email protected]
>>> https://mail.mozilla.org/listinfo/es-discuss
>>>
>>>
>>
>>
>> --
>>     Cheers,
>>     --MarkM
>>
>> _______________________________________________
>> es-discuss mailing list
>> [email protected]
>> https://mail.mozilla.org/listinfo/es-discuss
>>
>>
> _______________________________________________
> es-discuss mailing list
> [email protected]
> https://mail.mozilla.org/listinfo/es-discuss
>
>
>
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to