JavaScript

Javascript - 논리 연산자

yh-jeonnn 2024. 7. 2. 21:33
728x90
반응형
SMALL
// 논리

// AND 연산자
const a = true
const b = false

if(a && b) {
  console.log('a와 b 변수의 조건 모두가 참!')
}

 

변수 a와 b 모두 조건값이 true가 아니기에 콘솔 창에는 아무것도 출력이 되질 않지만, 변수 b의 조건이 true로 변경이 되면 콘솔 창에는 'a와 b 변수의 조건 모두가 참'이라는 글씨가 출력이 됩니다.

A && B (AND 연산자) : 조건 A와 B 모두가 참이어야지 조건이 실행됩니다. 

 

// 논리

const a = true
const b = false

// AND(그리고) 연산자
if(a && b) {
  console.log('a와 b 변수의 조건 모두가 참이어야지 참!')
}

// OR(또는) 연산자
if(a||b) {
  console.log("a와 b 둘 중 하나 이상이 참이면 참")
}
 

 

A || B (OR 연산자) :  A와 B 둘 중 1개 이상의 조건이 참이면 조건이 실행됩니다.

 

// 논리

// AND 연산자
console.log(true && false);
console.log(1 && 0);

 

이렇게 작성하면 콘솔 창에는 각각 false 와 0 값이 출력되게 됩니다.

이처럼 단순히 true 또는 false 만이 아닌 조건문에 들어 있는 피연산자의 값이 콘솔 창에 출력이 되는 경우도 존재합니다.

&& (AND 연산자)는 조건문을 탐색해서 거짓인 경우 조건문의 왼쪽에서부터 가장 먼저 거짓인 피연산자의 값을 콘솔 창에 반환합니다.

 
// 논리

// AND 연산자
console.log(true && false);
console.log(1 && 0);
console.log(1 && 2 && 0);
console.log(1 && 0 && 2);
console.log(0 && 1 && 2)
console.log('A' && 'B'&& '');

 

=> 이렇게 작성하면 콘솔 창에 각각 false,0,0,0,0, 아무것도 없음(빈문자)  이 출력되게 됩니다.

 

// 논리

// AND 연산자
console.log(true && false);
console.log(1 && 0);
console.log(1 && 2 && 0);
console.log(1 && 0 && 2);
console.log(0 && 1 && 2)
console.log('A' && 'B'&& '');
console.log('A' && 'B' && 'C');

 

만약 이처럼, console.log('A' && 'B' && 'C'); 값을 입력하고 콘솔 창에 출력을 하게 되면 콘솔 창에는 전부 참 값이므로 이런 경우에는 가장 마지막 참 값을 반환합니다. 그렇기에 이 경우에서는 가장 마지막 참 값인 C가 콘솔창에 출력되게 되는 것입니다.

 

// 논리

// OR 연산자
console.log(false || true);
console.log(0 || 1);
console.log(false || 0 || {});
console.log(false || [] || null);
console.log(function () {} || undefined || "");
console.log(false || 0 || NaN);

 

OR 연산자둘 중 1개의 값이 참이면 참인 논리 연산자이기에, 조건문 뒤에 거짓 값이 존재하더라도 참 값이 우선이면 거짓 값을 무시하고 참 값을 콘솔 창에 출력하게 됩니다. 이때, console.log(false || 0 || NaN); 처럼 조건문에 들어 있는 값이 전부 거짓일 경우에는 가장 마지막 거짓 값을 출력하게 됩니다. 그렇기에 여기서는 NaN 값이 출력되게 됩니다.

{콘솔 창}

true
main.js:5 1
main.js:6 {}
main.js:7 []
main.js:8 ƒ () {}
main.js:9 NaN

728x90
반응형
LIST