web/javascript

[Javascript] 비교 연산자

sungjine 2016. 7. 27. 14:28
반응형

 - 비교연산자

 

>=, >, <=, < : 대소비교 연산자

 - 양쪽 모두 숫자일 때 비교 가능

 - 양쪽 모두 문자일 때 문자의 ascii code로 비교 된다.

 - 숫자와 문자열 비교시 문자열이 숫자로 형변환이 가능할경우 비교 가능 숫자가 아닐경우 false를 return

 - null 일경우 비교 가능 NaN이나 undefined는 다르다

 - 불린값 비교 가능

 - Date값 비교 가능

 

2 > 1             true

2 > '1'            true

1 > ""             true

'ab' > 'a'         true

1 > null          true

1 > NaN         false

1 > undefined  false

true > false     true

 

== : 동등비교 연산자

(좌항과 우항의 값을 비교한다.)

 - null과 undefined는 같다.

 - 양쪽 모두 숫자일 때

 - 양쪽 모두 문자일 때

 - 한쪽이 숫자이고 다른 한쪽이 문자열이며 숫자로 형변환이 가능할 때

 - 불린값 비교 가능 (true는 1, false는 0과 같다)

 - Date값 비교 가능

 

null == undefined   true

1 == 1                 true

"a" == "a"             true

1 == "1"               true

true == true          true

true == 1              true

false == 0             true

 

=== : 일치비교 연산자

(좌항과 우항의 값과 데이터 타입을 비교한다.)

 - null과 undefined는 다르다.

 - null과 null, undefined와 undefined는 같다

 - 양쪽 모두 숫자일 때

 - 양쪽 모두 문자일 때

 - 한쪽이 숫자이고 다른 한쪽이 문자열이며 숫자로 형변환이 가능해도 다르다

 - 불린값 비교 가능 (true는 1, false는 0과 같지 않다)

 - Date값 비교 가능

 

null === undefined          false

null === null                   true

undefined === undefined  true

1 === "1"                      false

"1" === "1"                    true

1 === 1                        true

true == true                   true

true === 1                     false

 

* 값을 비교할 때 값만 비교하는 동등비교 대신 값의 타입까지 비교해주는 일치비교 연산자를 쓰는것을 권장한다. *

반응형