논리연산자에서 and연산자 또는 or연산자의 표현식 평가 결과는 boolean타입이다.
bollean타입이라고 해서 true, false로만 반환이 되는 것이 아니다.
string타입(문자열)으로 반환이 가능하다.
논리곱 (&&) 또는 논리합 (||) 연산자 표현식은 언제나 2개의 피연산자 중 어느 한쪽으로 평가 된다.
1. && 연산자는 두 개의 피연산자 모두 true로 평가될 때 true를 반환 한다.
2. 논리곱 연산자는 좌항에서 우항으로 평가 한다.
3. 첫번째 피연산자만 true라고 평가가 끝이나지 않는다. 두번째 피연산자까지 평가 한다.
3. 그렇기 때문에 두 번째 피연산자가 평가 결과를 결정 한다. 그렇기 때문에 논리 연산의 결과를 결정하는 두 번째 피연산자를 반환 한다.
console.log('hi' && 'no'); //no console.log(null && 'hi'); //null console.log(null && 0); //null console.log(1 && "hi"); //hi
1. || 연산자는 두 개의 피연산자 중 하나만 true로 평가 되도 true를 반환 한다.
2. 논리합 연산자도 좌항에서 우항으로 평가 한다.
3. 첫번째 피연산자만 true여도 평가가 끝이 난다.
3. 그렇기 때문에 논리 연산의 결과를 결정하는 첫 번째 피연산자를 반환 한다.
console.log('hi' || 'okay') // hi console.log(null || 'no') // no console.log(null || 0) // 0 console.log(1 || 2) // 1