JS

[JS] 자바스크립트 형 변환과 불리언(Boolean)

coco030030 2025. 4. 2. 11:07

자바스크립트 형 변환과 불리언(Boolean) 쉽게 이해하기

앞에 이미 있지만.

Boolean이란 무엇인가요?

Boolean은 참(true) 또는 거짓(false) 단 두 가지 값만 가질 수 있는 데이터 타입입니다.

실생활 예시:

  • 전등 스위치: 켜짐(true) 또는 꺼짐(false)
  • 예/아니오 질문: 예(true) 또는 아니오(false)
  • 로그인 상태: 로그인됨(true) 또는 로그아웃됨(false)

예제 코드 분석

document.write(123+234+"<br>");  // ① 숫자+숫자+문자열

계산: 123 + 234 = 357, 그리고 357 + "
" = "357
"
출력: 357

document.write(123+"234"+"<br>");  // ② 숫자+문자열+문자열

계산: 123 + "234" = "123234" (숫자가 문자열로 변환됨)
출력: 123234

document.write(false+123+"<br>");  // ③ 불리언+숫자+문자열

계산: false는 숫자 계산에서 0으로 취급, 0 + 123 = 123
출력: 123

document.write(123+String(234)+"<br>");  // ④ 숫자+문자열변환+문자열

계산: 123 + "234" = "123234" (String()으로 명시적 변환)
출력: 123234

document.write(123+Number("234")+"<br>");  // ⑤ 숫자+숫자변환+문자열

계산: 123 + 234 = 357 (Number()로 문자열을 숫자로 변환)
출력: 357

document.write(Boolean(1)+"<br>");  // ⑥ 불리언변환+문자열

계산: Boolean(1) = true (0이 아닌 모든 숫자는 true)
출력: true

document.write(Boolean(0));  // ⑦ 불리언변환

계산: Boolean(0) = false (0은 false로 변환)
출력: false

Boolean으로 변환되는 값들

true로 변환되는 값들:

  • 모든 숫자 (0과 NaN 제외)
  • 모든 문자열 (빈 문자열 "" 제외)
  • 모든 객체와 배열 (비어있어도)

false로 변환되는 값들:

  • 숫자 0, -0
  • 빈 문자열 ""
  • null
  • undefined
  • NaN (Not a Number)
  • false 자체

Boolean을 실생활에 비유하면

Boolean(값)은 "이 값이 의미 있는가?"라는 질문에 대한 답이라고 생각하세요:

  • Boolean(1): "1이 의미 있는 값인가?" → 네(true)
  • Boolean(0): "0이 의미 있는 값인가?" → 아니오(false)
  • Boolean("안녕"): "안녕이라는 단어가 의미 있는가?" → 네(true)
  • Boolean(""): "빈 문자열이 의미 있는가?" → 아니오(false)

형 변환 규칙 요약

  1. 숫자 + 숫자 = 숫자 (일반적인 덧셈)
  2. 문자열 + 무엇이든 = 문자열 (문자열 연결)
  3. 불리언 + 숫자 = 숫자 (true=1, false=0으로 계산)
  4. Boolean(값) = 그 값이 의미 있으면 true, 아니면 false