2017-04-27 4 views
-6

Javascript opérateur ternaire logique cachée

function even_or_odd(number) { 
 
    return number % 2 === 0 ? 'Even' : 'Odd'; 
 
} 
 

 
function even_or_odd(number) { 
 
    return number % 2 ? "Odd" : "Even" 
 
}
Pourquoi ces deux fonctions renvoient le même résultat?

Comment fonctionne return number % 2 ? "Odd" : "Even"?

+0

Pourquoi tant de downvotes? –

Répondre

1

0 en javascript est une valeur falsifiée.

var v = 0; 
 

 
if(v) { 
 
    console.log("true"); 
 
} else { 
 
    console.log("false"); 
 
}

number % 2 retournera soit 0 (qui est falsy) ou 1 (qui est truthy). Donc, si le number est even alors number % 2 renverra 0 et l'état du ternaire sera false ...