==, ===, !=, !==
이 친구들은 어떻게 다를까?
비교 할 값의 Type / Value를 나누어 생각하면 쉽다.
Type = number / Value : 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
Javascript에는 거짓같은 값이라는 Falsy 개념이 있다. 총 8개.
"=="와 유사하다. Value만 비교하여 다름 여부를 판별한다. Type은 상관이 없음.
1 != 2 /// true /// 당연히 다르다.
1 != "1" /// false /// 둘의 Value가 1로 같으니, 1과 "1"은 다르지 않다.
Value와 Type 모두 비교하여 다름 여부를 판별한다.
1 !=== 2 /// true /// 당연히 다르다.
1 !=== "1" /// true /// Value는 같으나, type이 다르기 때문에 1과 "1"은 다르다.