피연산자가 모두 부울 값인 경우 "&&"는 두 값에 대해 부울 AND 연산을 수행합니다.
관계 연산자는 "&&"보다 우선순위가 높습니다.
"&&"는 true 및 false 값에 대해 부울 AND 연산을 수행할 수 있습니다. (거짓 값에는 false, null, undefine, 0, NaN 및 ""가 포함됩니다). JS에서 부울 값을 사용하려는 경우 표현식과 명령문은 이를 참 또는 거짓 값으로 처리하므로 실제로 "&&"가 항상 참과 거짓을 반환하지는 않습니다.
연산자가 참 값이나 거짓 값을 반환하려고 할 때 왼쪽 피연산자의 값에 따라 두 가지 연산 상황에 직면하게 됩니다. 즉, 계산 결과가 거짓이면 연산자는 먼저 왼쪽 피연산자의 값을 계산합니다. 값, 그러면 전체 표현식 수식의 결과도 거짓 값이어야 합니다. 이때 "&&"는 단순히 왼쪽 피연산자의 값만 반환하고 오른쪽 피연산자는 계산하지 않습니다. 왼쪽 피연산자가 true인 경우 "&&"는 오른쪽 피연산자의 값을 평가하여 전체 표현식의 결과로 반환합니다.
"&&"의 동작을 "단락"이라고도 하며, 많은 코드가 이 기능을 활용하여 조건부로 코드를 실행하는 것을 볼 수 있습니다. 예를 들어, 다음 두 코드 줄은 완전히 동일합니다.
"&&"와 마찬가지로 "||" 연산자에도 복잡한 동작이 있습니다.
은 대체 표현식 세트에서 첫 번째 진리값 표현식을 선택하는 데 사용됩니다.
연산자 우선순위
동일한 우선순위를 가진 연산자의 경우 조합 방향에 따라 연산 순서가 결정됩니다.간단히 기억하면:! > 관계 연산자 > 할당 연산자