Maison  >  Article  >  interface Web  >  Quand l'opérateur \"&& foo()\" appelle-t-il réellement la fonction \"foo()\" ?

Quand l'opérateur \"&& foo()\" appelle-t-il réellement la fonction \"foo()\" ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-03 19:54:29163parcourir

When does the

Comprendre l'opérateur "&& foo()"

L'opérateur "&&", également connu sous le nom de "ET logique", apparaît souvent dans le code comme "x && foo()". Bien que cette construction ressemble au bloc "if(x) { foo(); }", leurs fonctionnalités sont subtilement différentes.

Évaluation des raccourcis

Les deux "&&" ( ET) et "||" Les opérateurs (OR) ont une caractéristique unique connue sous le nom d'« évaluation de raccourci ». Cette fonctionnalité permet aux opérateurs d'ignorer l'évaluation de la deuxième expression si la première expression détermine déjà le résultat de l'instruction entière.

Dans le cas de "&&", il n'évalue "foo()" que si la valeur de "x" est vrai. Si "x" est faux, "foo()" n'est pas exécuté puisque le résultat de l'instruction entière est déjà déterminé comme faux.

Inversement, dans "||" déclarations, si la première expression est véridique, la deuxième expression n’est pas exécutée. L'instruction entière est évaluée comme vraie malgré tout, ce qui rend la deuxième expression non pertinente.

Précautions

Cependant, lors de l'utilisation d'une évaluation de raccourci, il est important d'être conscient des cas où les variables peuvent évaluer comme des valeurs inattendues. Par exemple, "0" est évalué comme faux, même s'il s'agit d'une variable définie.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn