Javascript

[JS] if (Number(str[i])===true) 의 값

HyeonGyu IM 2020. 8. 9. 17:02

if (Number(str[i])===true)

만약 str[i]가 숫자형태의 문자열일때 위의 값은 무엇이 될까?

간단하게 생각해 본다면 true가 나온다고 생각할수 있으나 실상은 False가 출력된다

만약 사용자가 값을 if (Number(str[i])) 단순히 이렇게 했다면 True가 출력되게 된다.

그 이유는 조건문에서는 NaN을 제외한 숫자는 truthy판정을 받기 때문이다. 

그럼 위의 값은 왜 false가 되는것일까? 그이유는 if(Number(str[i])) 의 뜻은 str[i] 가 숫자 일때 ture 라는 뜻이라고 판단되고. 하지

만 if(Number(str[i]) === ture)는 (숫자=== ture) 라는 값을 물어보는것이기 때문이다... 따라서 숫자와 boolean 값은 다르니 if 는

false 가 되게된다