JavaScript

[JavaScript] ' == '와 ' === ' 의 차이점을 알아보자

2023. 8. 14. 17:58

이번 포스팅에서는 자바스크립트에서 ' == ' 연산자와 ' === ' 연산자의 차이점을 정리하려고 한다. 

 

💡 == 연산자

== 는 Equal Operator이고, == 는 a == b의 값이 같은지를 비교해서, 같으면 true, 다르면 false라고 한다. 

== 연산자는 두 피연산자의 값의 타입이 다를 경우 자동으로 일부 피연산자의 타입을 변환후 값을 비교한다. 

 

타입을 비교하지 않고 값만 비교하기 때문에 ' === ' 연산자에 비해 느슨하다고 할 수 있다.

 

const a = 1;
const b = "1";
console.log(a == b); // true

하나가 숫자형이고 다른 하나가 문자열이면, 문자열을 숫자로 변환 후 값을 비교하여 true를 반환한다. 

 

null == undefined // true

null 과 undefined는 엄연히 다르지만, == 연산자는 true를 반환한다. 

 

💡 === 연산자 

=== 는 Strict Euqal Operator 로써, a === b 라고 할때, 값과 값의 종류(Data Type)가 모두 같은지를 비교해서 같으면 true, 다르면 false를 반환한다. 

 

=== 연산자는 타입을 변환하지 않으므로  ' == ' 연산자에 비해 비교하는 방식이 엄격하다. 

즉, === 연산자는 타입이 다르면, false를 반환한다. 

 

const a = 1;
const b = "1";
console.log(a === b); // false

데이터 타입이 숫자형과 문자열이기 때문에 false를 반환한다. 

 

null === undefined; // false

null 과 undefined는 공통적으로 값이 없음을 뜻하지만, 값의 종류(Data Type)가 다르기 때문에 false를 반환한다. 

 

NaN === NaN // false

NaN 값은 자기 자신을 포함하여 어떠한 값과도 일치하지 않다. === 연산자에 NaN 값이 존재하는 경우 항상 false이다.

'JavaScript' 카테고리의 다른 글

[JavaScript] - 고차함수  (0) 2023.04.25
[Javascript]콜백함수와 비동기 처리 - Promise  (0) 2023.03.21
[Javascript] 콜백함수와 비동기 처리 part1  (1) 2023.03.21
[JavaScript] - 프로토타입과 클래스를 알아보자!  (0) 2023.03.15
[JavaScript] - 객체 지향 프로그래밍란?  (0) 2023.03.15
'JavaScript' 카테고리의 다른 글
  • [JavaScript] - 고차함수
  • [Javascript]콜백함수와 비동기 처리 - Promise
  • [Javascript] 콜백함수와 비동기 처리 part1
  • [JavaScript] - 프로토타입과 클래스를 알아보자!
형일
형일
코딩일지형일 님의 블로그입니다.
형일
코딩일지
형일
전체
오늘
어제
  • 분류 전체보기 (53)
    • 코드스테이츠 (20)
    • JavaScript (8)
    • React (10)
    • WEB (5)
    • Git (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

최근 댓글

최근 글

hELLO · Designed By 정상우.
형일
[JavaScript] ' == '와 ' === ' 의 차이점을 알아보자
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.