I have come across a refernce to a JavaScript syntax that I don't understand and cannot find any references to online.
[+num]
What does this syntax do and when is it used?
It forces a conversion to a number.
+'0'; // 0
+[]; // 0
+true; // 1
+false; // 0
+"I'm Not A Number"; // NaN
From Operators: https://developer.mozilla.org/en/JavaScript/Reference/Operators/Arithmetic_Operators#.2b_(Unary_Plus)
+ (Unary Plus)
The unary plus operator precedes its operand and evaluates to its operand but attempts to converts it into a number, if it isn't already. For example, y = +x takes the value of x and assigns that to y; that is, if x were 3, y would get the value 3 and x would retain the value 3; but if x were the string "3", y would also get the value 3. Although unary negation (-) also can convert non-numbers, unary plus is the fastest and preferred way of converting something into a number, because it does not perform any other operations on the number. It can convert string representations of integers and floats, as well as the non-string values true, false, and null. Integers in both decimal and hexadecimal ("0x"-prefixed) formats are supported. Negative numbers are supported (though not for hex). If it cannot parse a particular value, it will evaluate to NaN.
NaN, e.g. +'abc', +({}), +(function(){}), etc.number, so it's still a conversion to a number :) But yes, that's an important observation to be aware of :) I think the OP is asking about the square brackets too, in which case it creates an array with one element containing the number.