/*
The plus sign is an operator in JavaScript.
It is used to add numbers and concatenate
(join) strings.
*/
console.log(1 + 1); // -> 2
console.log("Hello " + "world!"); // -> Hello world!
// Note: adding a string and a number will coerce the number into a string
console.log(1 + " world!"); // -> 1 world!
console.log("Hello " + 1); // -> Hello 1
// JavaScript Unary Operators The unary plus operator (+)
// The unary plus ( + ) precedes its operand and evaluates to its operand. It attempts to convert the operand to a number, if it isn't already.
+42 // 42
+"42" // 42
+true // 1
+false // 0
+null // 0
+undefined // NaN
+NaN // NaN
+"foo" // NaN
+{} // NaN
+function(){} // NaN
// Note that attempting to convert an array can result in unexpected return values.
// In the background, arrays are first converted to their string representations:
[].toString() === '';
[5].toString() === '5';
[1, 2].toString() === '1,2';
// The operator then attempts to convert those strings to numbers:
+[] // 0 ( === +'' )
+[5] // 5 ( === +'5' )
+[1, 2] // NaN ( === +'1,2' )