남은 조건문 코플릿을 풀어 본 이후, 쉽게 풀리지 않는 문제였던 #ScoreWithPlusAndMinus, #addOneSecond, #isFalsy에 대한 풀이과정을 정리하였다. 확실히 헷갈렸던 부분들을 코드 및 주석과 함께 정리를 해놓으니 이해가 원활해진 느낌이다.
마지막 문제였던 #isFalsy는 NaN의 로직에 대해 이해를 해야만 풀 수 있는 문제였다. 주어진 값이 NaN
인지 판별해주는 Number.isNaN()
는 NaN
이 할당되었을 때 true를 리턴한다.
- 참고하면 좋은 글: https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Number/isNaN
Number.isNaN(NaN); // true Number.isNaN(Number.NaN); // true Number.isNaN(0 / 0) // true
Number()
를 사용했었는데, 그대신 parseInt()
와 parseFloat()
함수를 이용할 수 있다. parseInt()
은 문자열을 정수로, parseFloat()
는 문자열을 실수로 바꿔준다는 차이가 있다. 두 함수의 차이에 대해서는 조금 더 공부할 필요가 있을 것 같다.parseInt('423'); // 423 parseInt('10 20 30'); // 10 parseInt('hello'); // NaN
→ 문자열을 정수로 바꿔준다.
→ 띄어쓰기로 여러 개의 수가 있으면 첫번째 수만 바꿔준다.
→ 수가 아닌 문자로 시작할 경우 NaN이 출력된다.