Javascript

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

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

'Javascript' 카테고리의 다른 글

[JS][DOM] Template (feat. textContent)  (0) 2020.09.06
[JS] web기초 Flex Box  (0) 2020.08.14
[JS]Closure에 대해  (0) 2020.08.06
[JS]Chain Scope 예시 2개  (0) 2020.08.04
[JS]Scope 변수의 변화 해설  (0) 2020.08.03