본문 바로가기

코딩도 합니다/JS

[자바스크립트 js] AND와 OR의 연산 방식



AND와 OR 연산자는 무조건 불린 값을 리턴하지 않고,

왼쪽 피연산자 값의 유형에 따라서 두 피연산자 중 하나를 리턴하는 방식으로 동작한다.

 

  AND 연산자

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

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

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

console.log(false && false);  //false
  • 왼쪽 값이 true면 오른쪽 값을 리턴한다.
  • 왼쪽 값이 false면 오른쪽 값을 리턴하지 않는다.
console.log('tooktak' && '할 수 있다!')  //할 수 있다!

 

 

 

  OR 연산자 : 어느 한쪽이라도 true가 있으면 true가 리턴된다

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

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

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

console.log(false || false);  //false
  • 왼쪽 값이 truthy하면 그대로 왼쪽 값을 리턴하고,
  • 왼쪽 값이 falsy하면 오른쪽 값을 리턴한다.

 

불린 값이 아닌 것으로 해보자.

console.log(null && undefined); // null

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

console.log('0' && NaN); // NaN

console.log({} || 123); // {}
function print(value) {
  const message = value || 'tooktak';
  console.log(message);
}

print(); //빈 값이면 false니까 tooktak이 출력 되고,

print('할 수 있다'); //value가 들어갔으니 true이므로 '할 수 있다'가 출력 된다!

 

 

 

  AND와 OR의 연산 우선순위

  • AND 연산자의 우선순위가 더 높다.
  • 다양한 연산자들을 복합적으로 사용해야 한다면 소괄호를 활용해서 의도에 맞는 연산 우선순위를 명확하게 표기하는 것이 좋다.
728x90