본문 바로가기
JaveScript

||(OR), &&(AND), !(NOT)

by 원더링 2022. 5. 19.

논리 연산자

 

● 컴퓨터는 논리 연산(true, fasle)을 통해 상황을 판단하며, 논리 연산에서 사용되는 것이 논리 연산자이다.

 

자바스크립트의 논리 연산자는 AND(&&), OR(||), NOT(!)이 있다.

 

● 코드를 줄이기 위해 if문을 논리연산자로 대체하지 말자.

 

논리 연산자는 피연산자로 불린 형뿐만 아니라 모든 타입의 값을 받을 수 있다.

 

 

OR

 

▶ || 으로 사용하면 된다.

 

인수 중 하나라도 true이면 true를 반환하고, 그렇지 않으면 false를 반환한다.

 

console.log(true || true); // true
console.log(false || true); // true
console.log(true || false); // true
console.log(false || false); // false

 

 

피연산자가 불린 형이 아니면, 평가를 위해 불린 형으로 형 변환이 된다.

 

if (1 || 0) { // if( true || false ), 1은 true 0은 false값으로 형변환 됨
  console.log('true');
}

 

 

참, 거짓인지 판단하기 위해 if문에서 자주 사용된다.

 

let hour = 9;

if (hour < 10 || hour > 18) {
  console.log('영업시간이 아닙니다.');
}

 

 

AND

 

▶ && 으로 사용하면 된다.

 

두 피연산자가 모두가 참일 때 true를 반환하고, 하나라도 false인 경우는 무조건 false를 반환한다.

 

console.log(true && true); // true
console.log(false && true); // false
console.log(true && false); // false
console.log(false && false); // false

 

 

참, 거짓인지 판단하기 위해 if문에서 자주 사용된다.

 

let hour = 12;
let minute = 30;

if (hour == 12 && minute == 30) {
  alert( '현재 시각은 12시 30분입니다.' );
}

 

 

&&의 우선순위가 ||보다 높다.

 

a && b || c && d는 (a && b) || (c && d)와 같은 의미이다.

 

 

NOT

 

▶ ! 나 !! 로 사용하면 된다.

 

▶ 인수를 하나만 받는다.

 

피연산자를 불린형으로 형변환 후에 변환된 값의 반대값을 반환한다.

 

console.log(!true); // false
console.log(!0); // true

 

 

두 개 연달아 사용할수도 있다.

 

console.log(!!"Hello word"); // true
console.log(!!undefined ); // flase

 

 

 

'JaveScript' 카테고리의 다른 글

Class - getter & setter  (0) 2022.06.03
Class  (0) 2022.06.03
textContent & innerText  (0) 2022.05.18
Function  (0) 2022.05.17
addEventListener  (0) 2022.05.13