JavaScript
[javaScript ]JavaScript에서 0 == ""가 true인 이유는 무엇입니까?
trueman
2024. 3. 11. 14:34
728x90
728x90
자바스크립트에서 == 연산자는 값의 타입을 변환하여 비교하며, 이 과정에서 타입 간의 형 변환이 이루어집니다. 따라서 0 == ""가 true로 평가되는 이유는 다음과 같습니다
- 0은 숫자이고, ""는 빈 문자열입니다.
- 자바스크립트에서 == 연산자를 사용할 때, 두 피연산자가 서로 다른 타입이면 타입 변환이 이루어지며, 둘 중 하나의 피연산자가 숫자이고 다른 하나가 문자열인 경우, 문자열을 숫자로 변환합니다.
- 빈 문자열 ""은 숫자로 변환하면 0이 됩니다.
- 결국, 0 == 0으로 비교되어 true가 됩니다.
이러한 현상은 '==' 연산자가 동등성 비교에서 타입 간 변환을 수반하기 때문에 발생합니다. 이러한 동등성 비교를 정확하게 하고자 한다면 '===' 연산자를 사용하여 타입 변환 없이 엄격한 비교를 수행할 수 있습니다.
728x90
728x90