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 |