>  기사  >  웹 프론트엔드  >  \"&& foo()\" 연산자는 실제로 언제 \"foo()\" 함수를 호출합니까?

\"&& foo()\" 연산자는 실제로 언제 \"foo()\" 함수를 호출합니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-03 19:54:29163검색

When does the

"&& foo()" 연산자 이해

"논리적 AND"라고도 알려진 "&&" 연산자는 코드에 자주 나타납니다. "x && foo()"와 같습니다. 이 구성은 "if(x) { foo(); }" 블록과 유사하지만 기능은 미묘하게 다릅니다.

단축 평가

둘 다 "&&"( AND) 및 "||" (OR) 연산자에는 "단축 평가"라는 고유한 특성이 있습니다. 이 기능을 사용하면 첫 번째 표현식이 이미 전체 문의 결과를 결정하는 경우 연산자가 두 번째 표현식 평가를 건너뛸 수 있습니다.

"&&"의 경우 값이 "foo()"인 경우에만 평가합니다. "x"는 사실입니다. "x"가 falsy이면 전체 문의 결과가 이미 falsy로 판단되므로 "foo()"는 실행되지 않습니다.

반대로 "||"에서는 명령문에서 첫 번째 표현식이 참이면 두 번째 표현식이 실행되지 않습니다. 전체 문은 관계없이 true로 평가되어 두 번째 표현식은 관련성이 없게 렌더링됩니다.

주의사항

그러나 단축 평가를 사용할 때는 변수가 예상치 못한 값으로 평가됩니다. 예를 들어 "0"은 정의된 변수임에도 불구하고 거짓으로 평가됩니다.

위 내용은 \"&& foo()\" 연산자는 실제로 언제 \"foo()\" 함수를 호출합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.