aotoyae

[JS] Boolean 불리언, && and 연산자, || or 연산자, 연산자 우선순위 본문

JavaScript

[JS] Boolean 불리언, && and 연산자, || or 연산자, 연산자 우선순위

aotoyae 2023. 12. 28. 19:53

 

 

// and 연산자
console.log(2 < 1 && "hi" !== "hi");

false and false => false

 

❗️and 연산을 할 때 왼쪽이 false인 경우, 오른쪽은 볼 필요도 없이 결과는 false이다.

❗️왼쪽 값이 true라면, 오른쪽도 확인

⬇️ 이것은 사실..

🌟🌟🌟 왼쪽 값이 true 면 오른쪽 값을 반환하고, 왼쪽 값이 false 면 그대로 왼쪽 값을 반환한다!!!! 🌟🌟🌟

console.log("hi" && "hello") // "hello"

 

 

// or 연산자
console.log(8 !== 8 || 2 < 1);

false or false => false

 

❗️or 연산을 할 때 왼쪽이 true인 경우, 오른쪽은 볼 필요도 없이 결과는 true이다.

❗️왼쪽 값이 false라면, 오른쪽도 확인

⬇️ 마찬가지로 얘는 반대로..

🌟🌟🌟 왼쪽 값이 true 면 왼쪽 값을 반환하고, 왼쪽 값이 false 면 오른쪽 값을 반환한다!!!! 🌟🌟🌟

 

function print(value) {
  const message = value || "hi";
  
  console.log(message)
}

print(); // "hi" 값이 전달되지 않았다면 대체
print("JavaScript") // "JavaScript" 전달된 값 반환

 

이런 식으로 전달되는 값 없이 함수 호출이 됐을 경우 활용할 수 있다.

 

** and 연산자와 or 연산자가 같이 있다면?

typeof (false || true && false);
// >> and 연산이 or 연산보다 우선순위가 높으므로 먼저 계산한다.

typeof (false || false);
typeof false;

// 'boolean'

 

그러니 괄호를 써서 의미를 명확히 하자!

 

 

연산자 우선순위 표!

🔗 https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/Operator_precedence

 

연산자 우선순위 - JavaScript | MDN

연산자 우선순위는 연산자를 실행하는 순서를 결정합니다. 우선순위가 높은 연산자가 먼저 실행됩니다.

developer.mozilla.org