arrays - JavaScript null and plus (+) operatior -


i trying understand core of javascript. know doesnt have implementation value. if dont want answer, leave it. however, appreciate if understand following type coercion while applying addition(+).

1.  null + null // 0 2. null + undefined; // nan 3. null + nan; // nan 4.  1 + null; //1 5.  true + null; //1 6.  true + [null]; //"true" 

i know null empty or missing object. appreciate, if can explain steps in type coercion or unary(+) operation here. reading question.

this covered in 11.6.1 addition operator ( + ) - feel free read , follow rules.

the first 5 cases can explained looking @ tonumber:

value       tonumber(value) ---------   --------------- null        0 undefined   nan nan         nan 1           1 true        1 

and 0 + 0 == 0 (and 1 + 0 == 1), while x + nan or nan + x evaluates nan. since every value above primitive, toprimitive(x) evaluates x (where x not string) , "string concatenation clause" not invoked.

the final case different in results toprimitive (which ends calling array.prototype.tostring) on array results in string value. ends applying tostring, not tonumber, , follows such:

   true + [null] => true + ""          // after toprimitive([null]) => "" => "true" + ""        // after tostring(true) => "true" => "true"             // via string concatenation 

Comments

Popular posts from this blog

asynchronous - C# WinSCP .NET assembly: How to upload multiple files asynchronously -

aws api gateway - SerializationException in posting new Records via Dynamodb Proxy Service in API -

asp.net - Problems sending emails from forum -