1. 논리 연산자 종류 및 설명
OR (||) : 여러 개 중 한 개라도 true면 true를 반환합니다. 즉 모든 값이 false일 경우에만 false를 반환합니다.
AND(&&) : 모든 값이 true면 treu를 반환합니다. 즉 하나라도 false면 false를 반환합니다.
NOT(!) : true와 false를 반대 값으로 바꿔줍니다. 즉 true 면 false, false면 true를 반환합니다.
OR
아이유는 여자 OR 개발자이다. -> true
-> OR 이기 때문에 두 가지 조건중 한 가지만 true여도 true를 반환합니다.
아이유는 여자 OR 개발자 OR 영국인 OR 군인이다. -> true
->OR 조건은 첫번째 true를 발견하면 뒤에 조건은 무시하고 true를 반환합니다.
AND
아이유는 개발자 AND 여자이다. -> false
-> AND 이기 떄문에 두 가지 조건 모두 만족해야지 true를 반환합니다.
아이유는 개발자 AND 여자 AND 가수 AND 한국인이다. -> false
-> AND 조건은 첫번째 false를 발견하면 뒤에 조건은 무시하고 false를 반환합니다.
위의 조건으로 보자면 논리 연산자를 사용할 경우 순서가 프로그램 성능에 영향을 미칩니다.
-> 키가 2미터 이상인 남자를 뽑는 경우 "남자"(50%) 보다 "2M이상"(5%)이 범위가 작아서 조건식에 먼저 위치시켜 95%를 첫 번째 평가에서 걸러낼 수 있기 때문에 성능이 향상됩니다.
2. 논리 연산자 예문
이름이 KIM 이거나, 성인이면 통과
(조건을 만족하여 통과)
const name = "kim";
const age = 30;
if(name === 'tim' || age > 19){
console.log("통과");
}
이름이 KIM이고, 성인이면 통과
(조건을 불만족하여 중지)
const name = "kim";
const age = 30;
if(name === 'tim' && age > 19){
console.log("통과");
} else {
console.log("중지");
}
나이를 입력받아 성인인지 아닌지 판단
const age = prompt("나이를 입력하세요")
const isAge = age >19;
console.log(isAge); //true 나 false를 받음
if(!isAge){
console.log("성인이 아닙니다."); //isAge false일 경우
} else {
console.log("성인입니다."); //isAge true일 경우
}
변수 age에 10살을 입력한 경우
변수 age에 30살을 입력한 경우
3. 논리 비교 연산자 우선순위
남자이고, 이름이 kim 이거나 성인인 경우 통과 (우선순위는 && -> || 순서)
const gender = "F";
const name = "kiki";
const isAdult = true;
if(gender==="M" && name==="kim" || isAdult){
console.log("통과");
} else {
console.log("중지");
}
이름과 설별이 거짓인데 통과로 나왔습니다. 이것은 비교 연산자의 우선순위 때문인데요((우선순위는 && -> || 순서))
따라서 아래와 같이 우선순위를 괄호로 조정 주어야 정상적인 결과를 얻을 수 있습니다.
const gender = "F";
const name = "kiki";
const isAdult = true;
if(gender==="M" && (name==="kim" || isAdult)){
console.log("통과");
} else {
console.log("중지");
'IT > HTML & CSS & JavaScript' 카테고리의 다른 글
[자바스크립트] 반복문 - while 문법 & 예제 (0) | 2021.09.08 |
---|---|
[자바스크립트] 반복문 for - 문법 & 예문 (0) | 2021.09.08 |
[자바스크립트] 조건문 if, else, else if 사용법 (0) | 2021.09.03 |
[자바스크립트] 비교 연산자 (<, >, <=, >=, ==, !=,===) (0) | 2021.09.03 |
[자바스크립트] ++, --, +=, -= 제곱근,나머지 연산자 (0) | 2021.09.03 |
댓글