길잃은곰
길을 잃어 떠도는 곰
길잃은곰
전체 방문자
오늘
어제
  • 분류 전체보기 (87)
    • Algorithm (6)
    • HTML, CSS (9)
    • Frontend (1)
    • SW공학 (1)
    • WEB (4)
    • Javascript (29)
    • Typescript (0)
    • React (8)
    • Computer Science (11)
    • NEWS (0)
    • TIL(WIL) (4)
    • ETC (5)

블로그 메뉴

  • ✨깃허브
  • 홈
  • 태그
  • 방명록

인기 글

태그

  • VH
  • PX
  • REM
  • VW
  • 연탄
  • Pixel
  • 코테
  • root-element
  • Es5
  • ES6
  • element
  • ES8
  • 코드트리
  • javascript2016
  • js2016
  • EM
  • ES7
  • 자바스크립트
  • JavaScript
  • %
hELLO · Designed By 정상우.
길잃은곰

길을 잃어 떠도는 곰

[ JavaScript ] ==, === 의 차이점
Javascript

[ JavaScript ] ==, === 의 차이점

2023. 1. 16. 20:16

자바스크립트하면 제일 유명한 짤 중 하나..

==, === 의 차이

자바스크립트는 기본적으로 타입이 매우 유연한 언어입니다. 보통 어떤 변수를 선언하면 형변환이 암시적으로 이루어지는데, 그래서 위에 짤 처럼 숫자와 문자를 같다고 하는 상황이 발생하는 것입니다.

==, === 은 각각 Equal Operator, Strict Equal Oprator 라고 부르고 느슨한 비교, 엄격한 비교라고 부르기도 합니다.

0 == false; // true
0 == ""; // true
1 == true; // true
1 == "1"; // true
1 == [1]; // true
"1" == [1]; // true
"1" == true; // true
true == [1]; // true
false == ""; // true
false == null; // false
false == undefined; // false
null == undefined; // true

== 는 비교를 할때 비교하는 값의 타입을 암시적으로 변환하게 됩니다.

그렇기 때문에 위의 예시와 같이 예상하지 못한 결과를 반환할 수도 있습니다.

예시
  • boolean 과 number 를 비교할때는 bool 값을 number 값으로 변환합니다. ( bool ➡ number )
  • string 과 number 를 비교할 때는 string 을 number 로 변환합니다. ( string ➡ number )
  • string 과 boolean 을 비교할 때는, boolean 을 number 로 변환 후, number 를 string 으로 변환합니다.
    ( boolean ➡ number ➡ string )
  • 1 == "1"; // true 1 == true; // true "1" == true; // true

 

 

Reference
  • 강제 형 변환(type coercion)
  • Equality (==)
  • Strict Equality ( === )
  • 동치 비교 및 동일성
  • 5
저작자표시 비영리 동일조건 (새창열림)

'Javascript' 카테고리의 다른 글

[ Javascript ] passed by value, passed by reference 의 차이점  (0) 2023.01.17
[ Javascript ] 얕은 복사 vs 깊은 복사  (0) 2023.01.16
[ JavaScript ] Arrow Function ( 화살표 함수 )  (0) 2023.01.16
[JavaScript] 자바스크립트를 멀티 스레드처럼 사용하는 방법  (0) 2023.01.09
[JavaScript] 실행 컨텍스트 그리고 클로저  (0) 2023.01.09
    'Javascript' 카테고리의 다른 글
    • [ Javascript ] passed by value, passed by reference 의 차이점
    • [ Javascript ] 얕은 복사 vs 깊은 복사
    • [ JavaScript ] Arrow Function ( 화살표 함수 )
    • [JavaScript] 자바스크립트를 멀티 스레드처럼 사용하는 방법
    길잃은곰
    길잃은곰

    티스토리툴바