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 가 되게된다