Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

자바스크립트 불리언(Boolean) 완벽 가이드 – 기초 개념부터 실전 활용까지

자바스크립트 불리언(Boolean) 사용 방법

프로그래밍 세계에는 참(True) 또는 거짓(False) 값이 곳곳에 존재합니다. 이러한 값을 우리는 '불리언(Boolean)'이라고 부릅니다. 불리언은 두 개 이상의 값을 비교하거나, 프로그램의 어떤 부분을 실행할지 제어하는 데 활용됩니다.

이 가이드에서는 불리언이 무엇인지, 그리고 어떻게 동작하는지 살펴보겠습니다. 몇 가지 예제를 통해 자바스크립트 불리언의 기본적인 사용법을 함께 익혀보겠습니다.

자바스크립트 불리언이란?

불리언은 참(True) 또는 거짓(False), 둘 중 하나의 값만 가질 수 있는 데이터 타입입니다.

'불리언'이라는 이름은 수학 논리학 발전에 크게 기여한 영국의 수학자 조지 불(George Boole)에서 유래했습니다.

자바스크립트에서 값이 존재하는 모든 객체는 true로 평가되며, 값이 없는 것은 false로 평가됩니다.

다음 값들은 모두 true로 평가됩니다:

  • 10
  • "Hello"
  • true

반면 null, false, undefined, 0, NaN, 빈 문자열("")은 모두 false로 간주됩니다.

그럼 지금부터 불리언을 자바스크립트에서 어떻게 활용할 수 있는지 하나씩 알아보겠습니다!

비교 연산에 불리언 활용하기

비교의 결과는 참(true) 또는 거짓(false), 단 두 가지뿐입니다. 따라서 비교 결과를 평가할 때 불리언을 활용할 수 있습니다.

자바스크립트는 비교 연산자(comparison operator)를 사용해 두 값을 비교합니다. 주요 비교 연산자는 다음과 같습니다:

  • == : 같다
  • != : 같지 않다
  • > : 크다
  • < : 작다
  • <= : 작거나 같다
  • >= : 크거나 같다

마지막 두 연산자(<=, >=)를 사용할 때는 부호의 순서를 정확히 지켜야 합니다. 부호 순서가 바뀌면 자바스크립트는 코드를 올바르게 해석하지 못합니다.

고등학교 반에 있는 두 학생의 나이를 비교하는 프로그램을 만들어 보겠습니다. 먼저 학생 알렉스(Alex)가 리사(Lisa)보다 나이가 많은지 확인해 보겠습니다:

var lisa = 15;
var alex = 16;

console.log(alex > lisa);

코드 실행 결과: true

알렉스는 16살, 리사는 15살입니다. 즉, 알렉스가 리사보다 나이가 많으므로 결과는 true입니다. 어떤 비교 연산자든 두 변수를 비교하는 데 사용할 수 있습니다. 이번에는 알렉스가 폴(Paul)과 같은 나이인지 확인해 보겠습니다:

var paul = 16;
var alex = 16;

console.log(alex == paul);

이 코드는 "alex"의 값과 "paul"의 값이 같은지 확인합니다. 두 학생 모두 16살이므로 코드는 true를 반환합니다.

문자열 역시 불리언으로 평가할 수 있습니다. 이번 달 명예의 전당(honor roll)에 리사가 올라 있는지 확인해 보겠습니다:

var honor_roll = "Alex";
var student = "Lisa";

console.log(honor_roll == student);

코드 실행 결과: false. 이 코드는 "honor_roll"의 값과 "student"의 값이 같은지 확인합니다. 명예의 전당에 오른 학생은 알렉스이므로, 두 문자열을 비교하면 false가 반환됩니다. 만약 리사가 명예의 전당에 올라 있다면 true가 반환되었을 것입니다.

비교 결과를 불리언 변수에 저장할 수도 있습니다:

var is_honor_roll_student = (honor_roll == student);
console.log(is_honor_roll_student);

코드 실행 결과: false. 앞선 예제와 동일한 비교를 수행하며, 그 결과가 "is_honor_roll_student" 변수에 저장됩니다. 이후 해당 변수의 값을 콘솔에 출력합니다.

논리 연산자와 함께 불리언 사용하기

논리 연산자(logical operator)는 두 개 이상의 표현식을 평가할 때 주로 사용됩니다. 논리 연산자를 활용하면 여러 조건이 모두 참인지, 하나라도 참인지, 혹은 하나 이상이 거짓인지 확인할 수 있습니다.

불리언과 함께 사용할 수 있는 논리 연산자는 세 가지입니다:

  • && : AND (그리고)
  • || : OR (또는)
  • ! : NOT (부정)

온라인 스토어에서 새 컴퓨터 게임을 구매할 수 있는지 확인하는 프로그램을 만들어 보겠습니다. 먼저 고객의 계정에 충분한 기프트카드 잔액이 있는지, 아니면 결제에 사용할 수 있는 카드가 등록되어 있는지 확인합니다:

var gift_card_balance = 25.00;
var cost = 30.00;
var card = true;

console.log((gift_card_balance >= cost) || (card == true));

코드 실행 결과: true. 이 코드는 고객의 기프트카드 잔액이 충분한지, 또는 계정에 카드가 등록되어 있는지 확인합니다.

고객의 기프트카드 잔액은 게임 가격보다 부족하지만, 계정에 카드가 등록되어 있습니다. 지정한 두 표현식 중 하나가 참이므로 전체 표현식은 true로 평가됩니다.

구매하려는 게임은 18세 이상 이용 가능 등급입니다. 고객이 18세 이상이면서 게임을 구매할 돈이 충분한지 확인해 보겠습니다:

var age = 19;
var enough_money = true;

console.log((enough_money == true) && (age >= 18));

코드 실행 결과: true. && 연산자를 사용해 두 조건이 모두 충족되는지 확인했으며, 두 조건이 모두 참이므로 코드는 true를 반환합니다.

NOT 연산자(!)를 사용하면 표현식이 거짓인지 확인할 수 있습니다. 고객이 이전에 게임을 구매한 적이 있는지 살펴보겠습니다:

var purchases = 1;
var purchased_before = !(purchases == 0);

console.log(purchased_before);

이 코드는 고객이 이전에 게임을 구매한 적이 있는지 확인합니다. NOT 연산자("!")를 사용해 purchases == 0의 결과를 반전시킵니다. 따라서 고객이 한 번이라도 게임을 구매한 적이 있다면 표현식은 true로 평가됩니다.

if 문에서 불리언 활용하기

불리언은 프로그램의 흐름을 제어하는 데 사용됩니다. 즉, 불리언을 활용하면 특정 코드 블록을 실행할지 여부를 결정할 수 있습니다.

다음 코드는 고객의 기프트카드 잔액이 게임 구매에 충분한 경우 콘솔에 메시지를 출력합니다:

var balance = 25.00;
var cost = 30.00;

if (balance >= cost) {
	console.log("기프트카드에 잔액이 충분합니다.");
} else {
	console.log("기프트카드 잔액이 부족합니다.");
}

코드 실행 결과: 기프트카드 잔액이 부족합니다.

이 코드는 고객의 잔액이 게임 가격보다 크거나 같은지 평가합니다. 잔액이 충분하면 if 문 안의 코드가 실행되고, 그렇지 않으면 else 문 안의 코드가 실행됩니다.

이번에는 "balance" 값을 32.50으로 변경하면 어떻게 되는지 확인해 보겠습니다:

var balance = 32.50;
...

코드 실행 결과: 기프트카드에 잔액이 충분합니다.

마무리

불리언은 참(true) 또는 거짓(false) 값을 저장할 수 있는 데이터 타입입니다. 불리언은 표현식이 참인지 거짓인지 평가하는 데 널리 사용되며, if 문과 함께 사용하면 표현식의 평가 결과에 따라 특정 코드 블록을 실행할 수 있습니다.

이제 여러분도 전문 개발자처럼 자바스크립트 불리언을 자유롭게 활용할 준비가 되었습니다!