길/Javascript 기본

비교 연산자

7he8oy 2021. 1. 19. 09:37

조건문 관련하여 비교 연산자에 대해 배웠다.

나는 코딩을 주먹구구 식으로 배웠기 때문에 기본 문법 체계가 설기게 자리잡혀 있다는 생각이 들었다.

따라서 새롭게 배운 것을 여기 정리해 보고자 한다.

 

'===' 와 '=='

dorey.github.io/JavaScript-Equality-Table/

 

JS Comparison Table

=== (negated: !==) When using three equals signs for JavaScript equality testing, everything is as is. Nothing gets converted before being evaluated.

dorey.github.io

위 링크는 ===와 ==가 어떻게 다른지 표로 깔끔하게 정리된 테이블이다.

내용을 갖고와 보자면, 다음과 같다.

== 연산자에서 특기 할 만한 점은

1 == true
'1' == true
[1] == true

등이 모두 true 값을 리턴한다는 것과,

[] == false
'' == false
0 == false
"0" == false
undefined == null
"" = []

등이 모두 true 값을 리턴한다는 것이다.

false의 경우 empty object는 모두 같다고 판단하며

undefined와 null을 같다고 판단하고,

0을 타입과 관계 없이 false라고 판단하는 것으로 보인다.

 

반면 ===은 깔끔하다. 타입마저 같아야 true 값을 리턴한다.

 

&&와 ||

true && true // true
true && false // false
false && false // false

true || true // true
true || false // true
false || false // false

 

!

!는 boolean의 값을 반전시킨다.

!true //false
!(3>2) // false
!undefined // true
!'hello' // false


!true && true //false
!false && true //true

//이를 이용해서 다음과 같은 조건을 만들 수 있다.
if(!true && true)
//첫 번째 조건이 false고 두 번째 조건이 false면 통과

 

' > Javascript 기본' 카테고리의 다른 글

parseFloat / parseInt / Number  (0) 2021.01.19
Immutable vs mutable  (0) 2021.01.19
String 기본  (0) 2021.01.19
6가지 falsy 값 (조건문에서 false 취급)  (0) 2021.01.19
함수 선언  (0) 2021.01.18