[JavaScript] 자료형 - 불린(Boolean)

Moon·2024년 10월 28일
0

JavaScript | 기초

목록 보기
14/48
post-thumbnail

자바스크립트를 배우다 보면 참(true)거짓(false)을 다루는 일이 자주 등장하는데, 이를 표현하는 자료형을 불린(Boolean)이라고 한다.

불대수에서 배운 거짓을 떠올리면 되는데, 숫자 대신 진리 값으로 논리적 사고를 표현한다고 생각하면 된다. 자바스크립트에서 불린 값은 코드 흐름을 제어하거나 조건을 설정하는 핵심 요소이기 때문에 꼭 익혀둬야 한다.


자바스크립트의 불린 기본값

자바스크립트에서 불린 값은 딱 두 가지다. truefalse. 대문자가 아니라 소문자로 작성하며, 참(True)거짓(False)이라는 진리 값을 표현한다. 이를테면 “7은 3보다 크다”는 참인 명제, 그리고 “7은 9보다 크다”는 거짓인 명제다. 각각 코드를 작성하고 실행해 보면 다음과 같이 결과가 나온다.

console.log(7 > 3); // true
console.log(7 > 9); // false

자바스크립트는 대소문자 구별이 엄격하기 때문에 truefalse는 반드시 소문자로 작성해야 한다. 실수로 TrueFalse처럼 대문자로 시작하게 되면 에러가 발생한다. 자바스크립트에선 "대문자는 거부한다"는 불문율이 있다지…?


숫자 비교 연산자

자바스크립트에서 숫자를 비교할 때 주로 사용하는 연산자가 몇 가지 있다. 연산자는 기본적으로 값을 비교해서 true 혹은 false로 결과를 반환해 준다. 대표적인 비교 연산자를 살펴보자:

  • >: 왼쪽이 오른쪽보다 큰 경우
  • <: 왼쪽이 오른쪽보다 작은 경우
  • >=: 왼쪽이 오른쪽보다 크거나 같은 경우
  • <=: 왼쪽이 오른쪽보다 작거나 같은 경우

자바스크립트에서 대소 비교를 할 때는 부등호가 먼저, 등호가 나중에 오는 순서라는 점을 잊지 말자. 등호를 앞에 두면 자바스크립트가 기겁을 하며 에러를 띄운다.

console.log(8 >= 6);  // true (8은 6보다 크거나 같다)
console.log(5 <= 5);  // true (5는 5보다 작거나 같다)
console.log(5 => 3);  // SyntaxError (부등호와 등호 순서 주의!)

일치 연산자와 불일치 연산자

이제 일치 연산자불일치 연산자를 보자. 이 두 연산자는 값을 비교할 때 자주 쓰이며, 자바스크립트는 엄격하게 일치 여부를 따진다.

  • ===: 값과 자료형이 모두 같은 경우 true 반환
  • !==: 값과 자료형이 다를 경우 true 반환

예를 들어 ===는 "3이라는 값과 숫자형(Number)"이 일치할 때 true를 반환하고, "3" === 3처럼 문자열과 숫자를 비교할 경우 false를 반환한다. 참고로, 느낌표 !는 부정의 의미로, !==불일치를 뜻하게 된다.

console.log(4 === 4);   // true (4와 4는 완전히 같음)
console.log(4 !== '4'); // true (4와 '4'는 값은 같아도 자료형이 다름)

💡 Tip: 자바스크립트에서 엄격한 비교를 할 땐 == 대신 ===를 쓰는 습관이 좋다. 느슨한 비교(==)는 자바스크립트가 자동으로 자료형을 바꿔가며 비교하기 때문에 예상치 못한 결과가 나오기 쉽다.


문자열 비교 예시: 같은 문자열이라도 다를 수 있다!

자바스크립트에서 문자열 비교는 철자와 길이가 정확히 일치하는지에 따라 결과가 달라진다.
예를 들어 “apple”“Apple”은 대소문자 하나 차이지만 완전히 다른 문자열로 인식된다.

console.log("javascript" === "javascript"); // true (두 문자열이 정확히 일치함)
console.log("JavaScript" === "javascript"); // false (대소문자가 다름)

여기서 보듯, 자바스크립트는 대소문자에 민감하다. 같은 단어라도 대문자와 소문자의 차이만으로 완전히 다른 문자열로 인식한다.


자바스크립트의 논리 연산자

이제 불린 연산을 활용해 논리 연산을 살펴보자. 불대수와 마찬가지로 AND, OR, NOT 연산이 있다. 자바스크립트의 논리 연산자는 각 조건을 조합해서 조건문을 만들 때 유용하다.

1. AND 연산 (&&)

AND 연산은 두 값이 모두 true일 때만 결과가 true가 되는 연산이다. 자바스크립트에서는 &&로 표기하며, 조건이 동시에 참이어야만 true가 된다. 키보드에서 Shift + 7을 두 번 눌러 작성할 수 있다.

console.log(10 > 5 && 8 > 3);  // true (두 조건이 모두 true)
console.log(10 > 5 && 8 < 3); // false (둘 중 하나가 false이므로 false)

2. OR 연산 (||)

OR 연산은 둘 중 하나만 true여도 결과가 true다. 자바스크립트에서는 || 연산자를 사용하며, 조건 중 하나라도 충족되면 true를 반환한다. 작성할 때 Shift + \\를 두 번 눌러 작성한다.

console.log(10 < 15 || 8 < 5); // true (둘 중 하나가 true이므로 true)
console.log(10 > 15 || 8 < 5); // false (둘 다 false이므로 false)

3. NOT 연산 (!)

마지막으로 NOT 연산은 값을 반대로 바꾸는 역할을 한다. true는 false로, false는 true로 바꾼다. ! 기호를 사용하며, 조건을 반전시켜야 할 때 쓰인다. 예를 들어 !truefalse로, !falsetrue가 된다.

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

또한, 이 연산은 중첩해서 사용할 수도 있는데, 두 번 반전하면 원래 값이 된다. 예를 들어 !!truetrue, !!falsefalse와 같다. 이 중첩은 복잡한 조건에서 유용하게 활용될 수 있다.

console.log(!!true);  // true (true의 반대의 반대)
console.log(!!false); // false (false의 반대의 반대)

요약

자바스크립트의 불린(Boolean)은 truefalse라는 두 가지 값으로 논리를 표현하며, 논리 연산자와 함께 사용하여 복잡한 조건을 결합하고 제어할 수 있다. 이 불린 연산자는 조건문에서 다양한 조건을 평가하고, 프로그램의 흐름을 유연하게 제어하는 데 매우 중요한 역할을 한다.

profile
MOON.DEVLOG

0개의 댓글