and연산자는 &&로 활용하며, 모두가 참일 때에만 값이 출력이 되는 것이다.
a는 true, b는 false이기 때문에, &&연산자에선 둘 다 참이 아니기 때문에,
아무것도 출력이 되지 않는다. b를 true로 바꾸어 주면, 출력 값엔 모두가 참! 이 출력이 된다.
OR 연산자는 || 로 활용을 한다. 그리고 또는 연산자라고 불리기도 한다.
또는 연산자는 하나만 참이면 입력 값에 출력이 된다는 말이다.
a는 true b는 false이다. a는 true이기에, 하나만 참이여도 결과 값엔 출력이 되니까 하나 이상이 참! 이라고 출력이 되는 것이다.
첫 번째 console.log를 보면 당연히 false가 나오고,
두 번째, 세 번째 코드를 보면 왼쪽부터 읽혀서 마지막 숫자만 입력값에 출력이 된다는 것이다.
이것도 똑같다. 1 && 0 && 2 인데 1을 true 0은 부정 false니까 바로 출력이 0으로 되는 것이다 && 2 는 읽히지 않는 것이게 된다.
이 코드도 마찬가지 이다. 'A'는 참 'B'도 참 ''빈 문자열은 부정이니까
출력값엔 아무런 출력도 되지 않는 것이다.
이 코드는 모두가 참이니 마지막 문자인 'C'를 출력하는 것이다. 왼쪽 부터 읽혀 나가기 때문.
OR 연산자도 마찬가지로 왼쪽 부터 읽혀서 왼쪽부터 가는데 하나라도 참인게 있으면 바로 그 값을 출력하게 하는 것이다. 하지만, 마지막 코드를 보면 모두 다 부정, 즉
false이다. 그래서 왼쪽부터 오른쪽으로 읽혀 가는데 다 부정이니까 마지막 NaN이 출력이 되는 것이다.