함수와 연산자에 전달되는 값은 대부분 적절한 자료형으로 자동 변환된다.
이런 과정을 형변환(type conversion)이라고 한다.
동등 연산자(==
)는 두 피연산자의 값이 서로 같으면 참, true
를 반환한다.
이때 두 피연산자의 타입이 서로 다르면, 비교를 위해 강제로 형변환이 일어난다.
하지만 일치 연산자(===
)는 타입의 변환 없이 두 피연산자의 값이 같고,
타입도 같아야만 참, true
을 반환한다.
일치 연산자(
===
)는 값의 메모리 주소를 비교한다.
const a = 1
const b = '1'
console.log(a === b) // false
console.log(a == b) // true
다음 코드는 전부 true
이다.
123 == '123'
0 == false
1 == true
' ' == false
다음 코드는 전부 false
이다.
123 === '123'
0 === false
1 === true
' ' === false