논리 연산자를 이용한 조건문 평가
&&, ||, !
if (true && true) //논리적으로 어떤 하나의 결과를 만들어 낼지에 대한 얘기
if (true && true) {//논리적으로 어떤 하나의 결과를 만들어 낼지에 대한 얘기
console.log('두개 모두 참이면 참');
}
if (true && false) {
console.log('한개만 참이면 전체 결과가 거짓');
}
if (false && false) {
console.log('한개만 참이면 거짓');
}
if (false && false) {
console.log('두개 모두 거짓이면 거짓');
}
if (true || true) {
console.log('두개 모두 참이면 참')
}
if (true || false) {
console.log ('하나라도 참이면 참')
}
if (false || false) {
console.log ('두개 모두 거짓이면 거짓')
}
if (!true) {
console.log('참이면 거짓')
}
if (!false) {
console.log('거짓이면 참')
}
표현식은 앞에 먼저 평가하고 뒤에 마저 평가한다
앞 표현식을 평가해서 참 일때만, 뒤 표현식을 평가할 필요가 생기기 때문에 뒤의 표현식이 실행된다
let n = 5;
(n % 5 === 0) && console.log('5로 나누어 떨어질때만 실행')
앞 표현식의 평과 결과가 거짓일 때는 뒤 표현식을 평가할 필요가 없어서 실행하지 않는다
n = 6;
(n % 5 === 0) && console.log('5로 나누어 떨어질때만 실행')
둘 중에 하나만 참이면 참이다
앞 표현식을 평가해서 참 이면, 뒤 표현식을 평가할 필요가 없어서 실행하지 않는다
n % 5;
(n % 5 === 0)|| console.log('5로 나누어 떨어지지 않을 때만 실행')
//앞에가 참이기 때문에 뒤가 실행되지 않는다
앞 표현식을 평가를 해서 거짓 일때만, 뒤 표현식을 평가할 필요가 생기기 때문에 뒤의 표현식이 실행된다
n % 6;
(n % 5 === 0)|| console.log('5로 나누어 떨어지지 않을 때만 실행')