반응형
자바스크립트에는 총 3가지의 논리연산자가 존재한다.
||(OR) , &&(AND), ! (NOT)
|| (OR)
- 여러 개중 하나라도 True 면 True 반환
- 즉, 모든 값이 False 일때만 False 반환
// OR 예제
// 이름이 TOM 이거나, 성인이면통과
const name = "YEON";
const age = 25;
if(name === "TOM" || age > 19) {
console.log("통과");
}
else
console.log("실패");

&& (AND)
- 모든 값이 True 면 True 반환
- 즉, 하나라도 False 면 False 반환
// AND 예제
// 이름이 TOM 이고, 성인이면통과
const name = "YEON";
const age = 25;
if(name === "TOM" || age > 19) {
console.log("통과");
}
else
console.log("실패");


! (NOT)
- True 면 False 반환
- False 면 True 반환
const age = prompt("몇 살이세요?");
const isAdult = age > 19;
if(!isAdult){
console.log("돌아가");
}
else {
console.log("어서오세요");
}


OR은 첫번째 True를 발견하는 즉시 평가를 멈춘다.
- 스티브 잡스는 남자이거나, 한국인이거나, 군인이거나…. ⇒ True. 남자가 True 이까 뒤는 무시
AND는 첫번째 False를 발견하는 즉시 평가를 멈춤
- 스티브 잡스는 남자이고, 한국인이며, 군인인 동시에… ⇒ False. 한국인이 False라서 뒤는 무시
우선순위
- AND가 OR 보다 우선순위가 높다
예를 들어, 남자이고, 이름이 Yeon이거나 성인이면 통과하는 프로그램을 만든다고 가정하자
const gender = "F";
const name = "Yeon";
const isAdult = true;
if(gender ==='M'&& name = 'Yeon' || isAdult) {
console.log('통괴');
}
else {
console.log('실패');
}
- gender ==='M'&& name = 'Yeon'이 부분을 먼저 평가해 False가 반환
- 그다음 False || isAdult(True)을 평가해 True를 반환해 '통과'가 출력된다.
위 와 같은 프로그램을 만들려면 어떻게 해야 할까?
- ( name = 'Yeon' || isAdult ) 괄호를 넣어주어 OR가 먼저 연산되게 만들면 된다.
반응형
'JavaScript > 기초' 카테고리의 다른 글
| #9 함수 (1) | 2026.01.07 |
|---|---|
| #8 반복문 (0) | 2026.01.06 |
| #6 비교 연산자와 조건문 (0) | 2026.01.06 |
| #5 연산자 (0) | 2026.01.06 |
| #4 형 변환 (0) | 2026.01.06 |