[Javascript] ==, ===, !=, !== 차이점

강지훈·2022년 11월 4일
0

자바스크립트

목록 보기
1/12

==, ===, !=, !==
이 친구들은 어떻게 다를까?

비교 할 값의 Type / Value를 나누어 생각하면 쉽다.


1

Type = number / Value : 1

"1"

Type = string / Value : 1

"=="

Value만 같으면 된다. Type은 상관 없다


"==="

Value도 같고 Type도 같아야 된다!

0 == 0        		// true 	// value가 같구나...
0 == "0"			// true 	// value가 같구나...
0 === 0         	// true 	// value와 type 둘 다 같구나...
0 === "0"			// false 	// value는 같으나 type이 다르구나...


이거는 뭐지??
0 == false   		//true	
0 === false			//false

Falsy

Javascript에는 거짓같은 값이라는 Falsy 개념이 있다. 총 8개.

  • false
    말그대로 false
  • 0
    숫자 0
  • -0
    마이너스 0도 있다고 한다.
  • 0n
    n은 숫자 뒤에 붙여 큰 숫자도 안정적으로 불러올 수 있도록 하는 기능이라고 한다. type은 "bigint"
  • ""
    비어있는 string
  • null
    값이 없다!
  • undefined
    정의 되지 않았다!
  • NaN
    not a number

그러면 !=와 !==는 어떻게 다를까? 다르면 다른거 아니냐?

"!="

"=="와 유사하다. Value만 비교하여 다름 여부를 판별한다. Type은 상관이 없음.

1 != 2       /// true      /// 당연히 다르다.
1 != "1"	 /// false	   /// 둘의 Value가 1로 같으니, 1과 "1"은 다르지 않다.

"!=="

Value와 Type 모두 비교하여 다름 여부를 판별한다.

1 !=== 2     /// true     /// 당연히 다르다.
1 !=== "1"   /// true     /// Value는 같으나, type이 다르기 때문에 1과 "1"은 다르다.
profile
우당탕탕 개발자

0개의 댓글