AFAIK, this is considered as a bad practice to use typeof to check the number, as NaN is also has type number (e.g. typeof NaN === "number"; // -> true). Moreover, typeof when used against number will return number, as a result, in lower case (i.e. not Number but number).
Interesting trick, but what if our value is 0 which can be a valid value to use? So our code:
won't copy anything.
So there is no point to use the trick in this way if 0 is a valid amount as well.
Remember that on the left you put the condition, so you may write like the following:
you could pass coins to a method that checks for false, null, and undefined only (or something along those lines)
Just make sure to internalize what JavaScript considers truthy and you won't think this is a "gotcha" anymore.
So in your specific case you'd probably want to do something like
AFAIK, this is considered as a bad practice to use
typeofto check the number, asNaNis also has typenumber(e.g.typeof NaN === "number"; // -> true). Moreover,typeofwhen used against number will returnnumber, as a result, in lower case (i.e. notNumberbutnumber).Yeah the casing of
numberwas just a typo. Adjusted it to check for NaN.