비교와 논리 연산으로 조건식을 구성합니다.
조건식은 if, 반복문, 삼항 연산자에서 true/false로 평가됩니다. truthy와 falsy 변환이 있지만 값의 존재와 유효성을 구분해야 할 때는 명시적으로 비교합니다.
canEnter는 두 조건을 &&로 묶습니다. 비교 연산자가 먼저 계산되어 age >= 14가 true가 되고, 그다음 &&가 오른쪽 hasAccount의 true를 확인해 최종 결과 true를 canEnter에 넣습니다. 둘 중 하나라도 false면 결과도 false가 되므로 나이와 계정을 모두 갖춰야 입장할 수 있다는 규칙이 됩니다.
&&는 왼쪽부터 평가하다가 false로 판정되는 값을 만나면 오른쪽을 보지 않습니다. 그래서 user && user.age >= 14처럼 값이 있는지 먼저 확인하는 조건을 앞에 두면, user가 null일 때 속성을 읽다가 TypeError가 나는 일을 막을 수 있습니다.
0과 빈 문자열은 falsy이므로 정상 입력값 0을 '값 없음'으로 오해하지 마세요.
직접 바꿔보세요hasAccount를 false로 바꾸고 OR 조건도 만들어보세요.