여러 조건을 and, or, not으로 조합합니다.
and는 모든 조건이 참이어야 하고 or는 하나 이상 참이면 됩니다. not은 조건을 뒤집습니다. 괄호를 사용해 평가 의도를 명확히 하고 긴 식은 이름 있는 중간 조건으로 나눕니다.
age가 21이라 age >= 18이 True가 되고 has_ticket도 True, not is_blocked도 True라 세 조건을 모두 통과해 입장 가능: True가 출력됩니다. and는 왼쪽부터 확인하다 거짓을 만나면 바로 멈추므로, age가 16이었다면 첫 비교에서 결과가 정해져 has_ticket과 is_blocked는 읽지도 않습니다. 이번에는 마지막에 평가한 not is_blocked의 값 True가 그대로 can_enter에 담깁니다.
and와 or는 bool만 반환하는 것이 아니라 결과를 결정한 피연산자 자체를 반환할 수 있습니다. 기본값 패턴에서 편리하지만 0과 빈 문자열 처리에 주의합니다.
권한 검사는 허용 조건과 거부 조건을 분리하고 서버에서도 반드시 다시 검사해야 합니다.
and가 or보다 먼저 평가됩니다. 우선순위를 기억에 의존하지 말고 괄호로 표현하세요.
직접 바꿔보세요관리자이거나 본인이면서 계정이 활성 상태인 조건을 작성하세요.
실행 버튼을 누르면 결과가 여기에 표시됩니다.