Pourriez-vous expliquer ces deux exemples de javascript?

1: Pourquoi le résultat de foo && baz pas 1? Parce que vrai est 1.

 var foo = 1; var baz = 2; foo && baz; // returns 2, which is true 

2: Il y a deux points forts dans la console.log(foo + +bar); Quel est leur sens?

 var foo = 1; var bar = '2'; console.log(foo + +bar); 

C'est parce que l'opérateur && ( ET logique ) renvoie la valeur du dernier opérande qu'il a évalué. Puisque foo est true , il doit évaluer la bar pour déterminer le résultat de l'expression (il ne sera true si la bar est également true ).

Le contraire se produirait avec le || ( OR logique ) opérateur. Dans ce cas, puisque foo est true , le résultat de l'expression est réputé être true sans avoir à évaluer la bar , donc la valeur de foo sera renvoyée.

En ce qui concerne votre deuxième question, l'opérateur unary + permet de convertir la chaîne '2' en numéro 2 .

&& renvoie la valeur de la dernière valeur évaluée. '&&' est un opérateur. La plupart du temps, il l'utilisait dans un contexte comme celui-ci

 if ( something && somethingelse ) {} 

en d'autres termes

 0 && 2 //would return 0 because 0 is a falsy value 12 && 10 && 0 && 100 // would return 0 to 10 && 123 && "abc" // returns "abc" 

+ Est un opérateur mathématique, mais il peut être utilisé pour convertir une chaîne en un nombre.

 1 + 1 = 2 1 + '1' = 11 //van damme would like this one 1 + +'1' = 2 // somce '1' got converted to a number 

Javascript suit l' évaluation des courts-circuits . Donc, selon cela, javascript renvoie la dernière valeur si les deux valeurs sont vraies