FWIW, ActionScript seems to have a unary plus as well.
http://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7fd1.html#WS5b3ccc516d4fbf351e63e3d118a9b90204-7f69

On Jan 2, 2017, at 11:09 PM, Harbs <harbs.li...@gmail.com> wrote:

> 
> On Jan 2, 2017, at 7:34 PM, Alex Harui <aha...@adobe.com> wrote:
> 
>> Where can I read more about this syntax?
> 
> https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators#Unary_plus_()
> 
>> Does the difference really move the needle?  Does GCC optimizer replace
>> Number with a shortened name anyway?
> 
> IFAIK, GCC leaves Number() as is. I just searched a current minimized project 
> and there were 137 Number() casts. That would be a savings of 959 bytes. The 
> entire minimized file is 402 KB. We’d possibly have an extra space before the 
> unary plus, but even so, it would be a savings of 822 bytes.
> 
>> What if you take away all whitespace?
> 
> I think it depends on where. 20 + +”1234” works, while 20++”1234” fails 
> miserably with the following error: Uncaught ReferenceError: Invalid 
> left-hand side expression in postfix operation
> var foo=+”1234”; works fine.
> 
>> What should we generate for:
>> 
>> var bar = "1234";
>> var foo = Number(bar);
>> 
> 
> var bar = "1234";
> var foo = +bar;
> 
>> var foo = Number("12" + "34”);
> 
> Good question.
> +("12" + "34") probably makes the most sense for this case.
> 
> 
>> Sorry for all of the questions.  I'm trying to understand how much gain we
>> get for how much work.
>> 
>> Thanks,
>> -Alex
>> 
>> On 1/2/17, 9:23 AM, "Harbs" <harbs.li...@gmail.com> wrote:
>> 
>>> Or more concisely:
>>> 
>>> console.log(20 + +"1234")
>>> < 1254
>>> 
>>> On Jan 2, 2017, at 7:21 PM, Harbs <harbs.li...@gmail.com> wrote:
>>> 
>>>> Apparently, yes:
>>>> 
>>>>> var foo = 20 + +"1234";
>>>> < undefined
>>>>> foo
>>>> < 1254
>>>> 
>>>> On Jan 2, 2017, at 7:13 PM, Alex Harui <aha...@adobe.com> wrote:
>>>> 
>>>>> var foo = 20 + +"1234";
>>>> 
>>> 
>> 
> 

Reply via email to