En tant que Ignacio's answer souligne, ce sont coalescence opérateurs. ||
est le null coalescing operator, &&
est l'opérateur de coalescence null-safe (
lien à suivre, si je peux trouver un
désolé, je ne peux pas trouver un lien).
Ils devraient être disponibles dans tous les navigateurs - ils sont tous deux définis dans les 1ère, 2ème, 3ème et 5ème éditions ECMA-262, la plupart des implémentations Javascript actuelles sont basées sur la 3ème ou la 5ème. De ECMA-262 3ème édition:
Le LogicalANDExpression de production: LogicalANDExpression & & BitwiseORExpression est évaluée comme suit:
1. Évaluer LogicalANDExpression.
2. Appelez GetValue (Result (1)).
3. Appelez ToBoolean (Résultat (2)).
4. Si le résultat (3) est faux, renvoyez Résultat (2).
5. Evaluez BitwiseORExpression.
6. Appelez GetValue (Résultat (5)).
7. Résultat (6).
La production LogicalORExpression: LogicalORExpression || LogicalANDExpression est évalué comme suit: :
1. Évaluer LogicalORExpression.
2. Appelez GetValue (Result (1)).
3. Appelez ToBoolean (Résultat (2)).
4. Si le résultat (3) est vrai, renvoyez le résultat (2).
5. Évaluez LogicalANDExpression.
6. Appelez GetValue (Résultat (5)).
7. Résultat (6).