Originariamente inviato da pietro09
riguardavo una vecchia routine ed ho visto che non va

function format(num, dec, sepm, sepd)
{
if(dec == undefined || dec == "") dec = 2;


se richiamo la procedura mettendo dec = 0, mi risulta dec = 2

in poche parole, "" == 0.


si può risolvere?
la risposta è sempre nella documentazione: https://developer.mozilla.org/en-US/...ison_Operators

When comparing a number and a string, the string is converted to a number value. JavaScript attempts to convert the string numeric literal to a Number type value. First, a mathematical value is derived from the string numeric literal. Next, this value is rounded to nearest Number type value.
ovvero se ho

a = "";
+a; // ritorna 0

per prevenire il type coercion nei confronti di valore (==) è sufficiente usare la tripla uguaglianza (===) per verificare l'uguaglianza di valore e di tipo.