JavaScript에서 ==와 ===의 차이와 사용법
AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

JavaScript에서 ==와 ===의 차이

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

웹 개발

대상자

JavaScript 초보 개발자 및 중급자

  • 난이도: 기초 수준 (타입 강제 및 비교 연산자 이해 필요)

핵심 요약

  • == (loose equality)타입 변환을 통해 값 비교
  • === (strict equality)타입과 값 모두 동일해야 같음
  • === 사용 권장 (예측 가능성과 안정성 확보)

섹션별 세부 요약

1. 비교 연산자 기본 개념

  • ==는 값의 타입이 다를 경우 자동 변환 (예: 0 == "0"true)
  • ===타입과 값 모두 동일해야 true (예: 0 === "0"false)
  • ==는 유연하지만 예상치 못한 결과 발생 가능성 (예: null == undefinedtrue)

2. 실무 예시와 위험성

  • == 사용 시 "0"(문자열)이나 []false로 처리될 수 있음
  • === 사용 시 정확한 조건 검사 가능 (예: inputValue === "" → 빈 문자열만 인식)
  • [] == falsetrue (배열 → 빈 문자열 → 0false로 변환)

3. 현대 JavaScript 개발 관행

  • ==생산성 코드에서 거의 사용되지 않음 (타입 강제 추구)
  • ===예측 가능성과 안정성을 위한 표준
  • "타입을 명확히 알고 사용하라"는 원칙 강조

결론

  • 모든 비교 연산에서 === 사용 (예외 없음)
  • == 사용 시 타입 변환으로 인한 오류 가능성 고려
  • "JavaScript가 의도를 예측하지 않도록 강제"하는 것이 안정적인 코드 작성 방법