일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- ...args
- .toLocalString()
- 1주차
- 2020년 준비
- 2주차
- 4주차
- 5주차
- array
- array method
- async
- authentication
- AWS
- codestates
- commit
- Cookie
- CSS
- Data Structre
- Data Structure
- DataSturcutre
- Date.now()
- DB에 사진 저장하기
- Dev log
- DOM
- EC2
- EC2로 웹 만드는 방법
- EC2와 S3 연결하기
- element
- Es5
- ES6
- event 객체
- Today
- Total
souvenir
[Pre 코스][2. 타입] #NaN의 특징 /2020.04.08 본문
1. 함수 만들기
if구문을 이용해서 falsy 값 6개만을 true로, 그 외는 false로 반환하는 함수를 만들었다.
function isFalsy(anything) {
if (anything === false){
return true;
} else if(anything === undefined){
return true;
} else if(anything === NaN){
return true;
} else if(anything === ''){
return true;
} else if(anything === null){
return true;
} else if(anything === 0){
return true;
}else { return false;
}
}
특이하게도 NaN 값만 인식이 되지 않고 오류가 나와서 이에 대해서 MDN을 통해 더 알아보았다.
2. NaN 값
1) NaN 값의 정의
NaN 은 Not-A-Number(숫자가 아님)을 의미한다.
2) NaN의 특징
NaN은 다른 모든 값과 비교(==, !=, ===, !==)했을 때 같지 않으며, 다른 NaN과도 같지 않다.
=> 여기에서 바로 오류가 나왔다.
NaN 판별
NaN의 판별은 Number.isNaN() 또는 isNaN()을 사용하면 제일 분명하게 수행할 수 있습니다. 아니면, 오로지 NaN만이 자기자신과 비교했을 때 같지 않음을 이용할 수도 있습니다.
|
그러나 isNaN()과 Number.isNaN()의 차이를 주의해야 합니다. isNaN은 현재 값이 NaN이거나, 숫자로 변환했을 때 NaN이 되면 참을 반환하지만, Number.isNaN은 현재 값이 NaN이어야만 참을 반환합니다.
isNaN('hello world'); // true
Number.isNaN('hello world'); // false
문제 덕분에
1) NaN의 특징
2) NaN을 판별할 수 있는 함수
3) falsy 값 복습
을 할 수 있었다.
출처)
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/NaN
놀랍게도 모델링에서는 Boolean 값의 특성을 이용해서만 한 줄로 함수를 만들었다.
값이 없거나 0, -0, null, false, NaN, undefined, 빈 문자열 ("")이라면 객체의 초기값은 false가 되기 때문이었다. 정말 간단하게 풀 수 있는 경로도 있었구나. 숲보다는 나무에 집중하다보니 놓친것 같다.
참고)
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Boolean
'2020년 > TIL(Today I Learn)' 카테고리의 다른 글
[Pre][코드스테이츠] 6주차 Reflection (0) | 2020.05.12 |
---|---|
20.05.04 코딩연습 (0) | 2020.05.05 |
[Pre][코드스테이츠] 4주차 Reflection 2020.04.25 (0) | 2020.04.28 |
[Pre][코드스테이츠] 2주차 Reflection 2020.04.11 (0) | 2020.04.28 |
[Pre 코스] Code-States 신청~OT /2020.03.30 (0) | 2020.04.09 |