JavaScript - 논리 연산자
안녕하세요, 미래의 JavaScript 마법사 여러분! 오늘 우리는 논리 연산자의 세계에 흥미로운 여정을 떠납니다. 프로그래밍에 새로운 사람이라면 걱정하지 마세요 - 저는 여러분의 친절한 안내자가 되겠습니다. 이 주제를 단계별로 탐구하겠습니다. 이 수업이 끝나면, 여러분은 마치 프로처럼 논리 연산자를 사용할 수 있을 것입니다!
JavaScript 논리 연산자
논리 연산자는 프로그래밍 세계의 결정자입니다. 이들은 우리가 선택을 하고 코드의 흐름을 통제하는 데 도움을 줍니다. JavaScript에서는 세 가지 주요 논리 연산자가 있습니다:
연산자 | 이름 | 설명 |
---|---|---|
&& | AND | 두 개의 피 연산자가 모두 참이면 참을 반환 |
|| | OR | 적어도 하나의 피 연산자가 참이면 참을 반환 |
! | NOT | 피 연산자의 부울 값을 반전 |
이제 이 연산자들에 대해 하나씩 들어보겠습니다!
JavaScript 논리 AND (&&) 연산자
AND 연산자 (&&)는 엄격한 부모처럼 - 두 개의 피 연산자가 모두 참이면 참을 반환합니다. 피 연산자 중 하나가 거짓이면 결과는 거짓입니다.
예제를 보겠습니다:
let isAdult = true;
let hasID = true;
console.log(isAdult && hasID); // 출력: true
let isTired = true;
let hasCoffee = false;
console.log(isTired && hasCoffee); // 출력: false
첫 번째 예제에서, isAdult
과 hasID
모두 참이므로 결과는 참입니다. 이는 "클럽에 입장하려면 성인이어야 하고 신분증이 있어야 한다"는 것과 같습니다. 두 조건 모두 충족해야 합니다.
두 번째 예제에서, isTired
는 참이지만 hasCoffee
는 거짓이므로 결과는 거짓입니다. 이는 " 피곤하지만 커피가 있으면 생산적이 될 거다"는 것과 같습니다. 커피가 없으므로 생산성은 없습니다!
JavaScript 논리 OR (||) 연산자
OR 연산자 (||)는 더 인내심이 많습니다. 적어도 하나의 피 연산자가 참이면 참을 반환합니다. 두 개의 피 연산자가 모두 거짓이면 거짓을 반환합니다.
여기에 예제가 있습니다:
let hasCash = true;
let hasCard = false;
console.log(hasCash || hasCard); // 출력: true
let isRaining = false;
let isSnowing = false;
console.log(isRaining || isSnowing); // 출력: false
첫 번째 예제에서, hasCash
가 참이므로 hasCard
가 거짓이더라도 결과는 참입니다. 이는 "아이템을 구매하려면 현금이나 카드 중 하나가 있으면 된다"는 것과 같습니다. 어느 쪽이든 충분합니다.
두 번째 예제에서, isRaining
과 isSnowing
모두 거짓이므로 결과는 거짓입니다. 이는 "비가 오거나 눈이 오면 안에 있을 거다"는 것과 같습니다. 두 가지 중 어느 것도 일어나지 않으므로 밖으로 나갈 수 있습니다!
JavaScript 논리 NOT (!) 연산자
NOT 연산자 (!)는 반란자입니다. 그것은 피 연산자의 부울 값을 반전시킵니다. 참이면 거짓으로, 거짓이면 참으로 바꿉니다.
예제를 보겠습니다:
let isSunny = true;
console.log(!isSunny); // 출력: false
let isMonday = false;
console.log(!isMonday); // 출력: true
첫 번째 예제에서, isSunny
는 참이지만 !isSunny
는 거짓입니다. 이는 "이晴이 아니다"라고 말할 때와 같습니다.
두 번째 예제에서, isMonday
는 거짓이지만 !isMonday
는 참입니다. 이는 "월요일이 아님을 축하합니다!"라고 말할 때와 같습니다.
논리 연산자 우선순위
수학과 마찬가지로, 논리 연산자도 우선순위가 있습니다. 다음과 같이 순위가 매겨집니다:
- NOT (!)
- AND (&&)
- OR (||)
이제 예제를 보겠습니다:
let a = true;
let b = false;
let c = true;
console.log(a || b && !c); // 출력: true
이렇게 평가됩니다:
- 먼저
!c
를 평가합니다:!true
가false
가 됩니다 - 그런 다음
b && false
를 평가합니다:false && false
는false
입니다 - 마지막으로
a || false
를 평가합니다:true || false
는true
입니다
따라서 최종 결과는 참입니다.
단락 평가
단락 평가는 JavaScript가 논리 연산을 최적화하는 또 다른 방법입니다. 일부 경우, JavaScript는 논리 표현式中 모든 부분을 평가할 필요가 없이 결과를 결정할 수 있습니다.
AND 연산자의 경우:
console.log(false && anything); // 출력: false
이 경우, 첫 번째 피 연산자가 거짓이므로 전체 표현식이 거짓이 될 것을 알 수 있으므로 anything
을 평가하지 않습니다.
OR 연산자의 경우:
console.log(true || anything); // 출력: true
여기서 첫 번째 피 연산자가 참이므로 전체 표현식이 참이 될 것을 알 수 있으므로 anything
을 평가하지 않습니다.
이를 통해 실수를 피할 수 있습니다. 예를 들어:
let user = null;
console.log(user && user.name); // 출력: null
user
가 null이므로 JavaScript는 user.name
을 접근하지 않고 null을 반환하여 실수를 방지합니다.
그렇게 해서, 여러분은 JavaScript 논리 연산자에 대한 급진 과정을 마친 것입니다! 기억하세요, 이 작은 기호들은 여러분의 프로그래밍 도구箱에서 강력한 도구입니다. 이들은 선택을 하고 코드 흐름을 통제하며 실수를 방지하는 데 도움을 줍니다.
JavaScript 여정을 계속하면서, 여러분은 이 연산자들을 점점 더 많이 사용하게 될 것입니다. 두려워하지 마세요 - 이를 통해 실험해 보세요. 이렇게 해서 실제로 그들의 사용을 습득하시겠습니다. 행복하게 코딩하세요, 그리고 여러분의 논리 연산이 항상 기대하는 결과를 내기를 바랍니다!
Credits: Image by storyset