[JavaScript] ==와 ===의 차이

2023. 11. 6. 01:21·Frontend/HTML ∙ CSS ∙ JavaScript

자바스크립트에서 ==와 ===는 비슷해 보이지만 서로 다른 비교 연산자이다. ==는 동등성을 비교하고 ===는 일치성을 비교하는데, 무슨 말인지 조금 더 자세히 살펴보자.

 

==

영어로는 loose equality를 비교한다고 표현한다. 말 그대로 느슨한 동등성을 비교하는 연산자이다. === 보다 느슨하게 동등성을 비교하기 때문에 강제 형변환을 수행한다.

 

예를 들어 숫자 77과 문자열 '77'을 == 연산자를 사용하여 비교하면 실제로는 타입이 다른 두 값이지만 자바스크립트가 수행한 강제 형변환 때문에 true 값으로 동등하다는 결과가 나온다.

77 == '77' /*true*/

 

=== 

영어로는 strict equality를 비교한다고 표현한다. 말 그대로 엄격한 동등성을 비교하는 연산자이다. == 보다 엄격히 동등성을 비교하기 때문에 ===의 경우에는 타입과 값이 둘 다 같아야 한다.

 

위의 예시를 이번에는 === 연산자로 비교해보자. == 연산자를 사용했을 때는 숫자 77과 문자열 '77'은 동등하다는 결과를 얻었지만 ===를 사용하면 false 값이 나온다. 일치하지 않는다는 말이다. ===는 강제 형변환을 수행하지 않기 때문에 똑같은 값이더라도 타입이 다르면 false 값을 반환한다. 

77 === '77' /*false*/

 

'Frontend > HTML ∙ CSS ∙ JavaScript' 카테고리의 다른 글

[JS] Uncaught SyntaxError: Cannot use import statement outside a module 에러 해결  (0) 2024.11.29
[JS] toLocaleString()를 사용하여 날짜를 원하는 포맷의 문자열로 저장하기  (0) 2024.11.29
[JS] crypto.randomUUID()를 사용하여 자바스크립트로 랜덤 id 생성하기  (3) 2024.11.29
[JavaScript] 얕은 복사와 깊은 복사  (0) 2023.11.06
[CSS] Flexbox 속성 배우기 게임, Flexbox Froggy 🐸  (0) 2023.10.26
'Frontend/HTML ∙ CSS ∙ JavaScript' 카테고리의 다른 글
  • [JS] toLocaleString()를 사용하여 날짜를 원하는 포맷의 문자열로 저장하기
  • [JS] crypto.randomUUID()를 사용하여 자바스크립트로 랜덤 id 생성하기
  • [JavaScript] 얕은 복사와 깊은 복사
  • [CSS] Flexbox 속성 배우기 게임, Flexbox Froggy 🐸
jisunipark
jisunipark
일신우일신 | 日新又日新 압축성장 중인 개발자입니다.
  • jisunipark
    일신우일신
    jisunipark
    • 분류 전체보기 (89)
      • Frontend (12)
        • HTML ∙ CSS ∙ JavaScript (8)
        • React.js (4)
        • Next.js (0)
      • Backend (5)
        • Express.js (2)
        • Flask (3)
      • Language (27)
        • Python (24)
        • Java (3)
        • Kotlin (0)
      • Etc. (3)
        • Git ∙ GitHub (3)
      • 개발서적 (19)
        • 모던 자바스크립트 Deep Dive (16)
        • 리팩터링 2판 (3)
      • 스터디 (6)
        • JavaScript30 (5)
        • 독서 스터디 (1)
      • 배움과 성장 (4)
        • 컨퍼런스 ∙ 세미나 (1)
        • 생각 기록 (3)
      • 회고 (5)
      • English ver. (4)
  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
jisunipark
[JavaScript] ==와 ===의 차이
상단으로

티스토리툴바