본문 바로가기

JavaScript

[JavaScript] 논리 연산자 (AND, OR, NOT)

자바스크립트에 그동안 너무 무관심했어서 요즘 자바스크립트 기초 강의 다시 시작했다..!!

기본 문법은 다 안다고 생각했는데 헷갈리는 부분이 생겨서 기록한당

 

나의 최종 목적 : 남자이고, 이름이 Mike 이거나 성인이면 통과시키고 싶음

const gender = 'F';
const name = 'Jane';
const isAdult = true;

 

 

수정 전 코드

if(gender === 'M' && name === 'Mike' || isAdult) {
	console.log('통과')
} else {
	console.log('돌아가')
}

=> 이렇게 하면 '통과'가 출력된다. 

AND(&&)가 OR( || ) 보다 우선순위가 높아서 (gender === 'M' && name === 'Mike') || isAdult 이렇게 되어서 isAdult가 true이기 때문에 '통과'가 출력된다..!!!

이것은 내가 원하던 조건에 맞지 않는다!!

 

나의 목표인 남자이고, 이름이 Mike 이거나 성인이면 통과 시키고 싶으면 괄호를 넣어줘야 한다!!

 

수정 후 코드

if(gender === 'M' && (name === 'Mike' || isAdult)) {
	console.log('통과')
} else {
	console.log('돌아가')
}

=> 전제 조건이 거짓이라서 '돌아가' 출력된다.

내가 원하던 조건문이 정상적으로 수행된다.

 

 

https://www.youtube.com/watch?v=-Vn00BjS_5U&list=PLZKTXPmaJk8JDicsOyY2cTcwXmBa-ZceI&index=7 

 

 

 

 

다 알고 있는 부분이라 생각했는데 헷갈려서 충격쓰..

이번에 다시 정확히 알고 가자~~~