(TIL) 2022-03-17
typeof()
해당 변수에 담긴 값이 어떤 자료형인지 파악해야할 때 쓰는 메소드.
typeof(3) // 'number'
typeof('apple') // 'string'
typeof({}) // 'object'
typeof([]) // 'object'
//----- 배열 자체를 검사하면 object라고 나오기 때문에, 배열이 맞는지 체크하기 위해서는 isArray 사용해야한다.
let typeArray = [];
console.log(Array.isArray(typeArray)); // true
typeof(function func(){}) // 'function'
typeof(undefined) // 'undefined'
//----- null 자체를 검사하면 object라고 나오기 때문에, null이 맞는지 체크하기 위해서는 새로운 변수에 null값을 넣은 후 null이 맞는지 비교해야한다.
typeof(null) // 'object'
let typeNull = null;
console.log(typeNull === null); // true
typeof(NaN) // number
//'Not a Number' 이라고 해서 숫자가 아닐거라고 생각되어지지만, 사실 컴퓨터 상에서는 1,2,3 과 같은 [숫자형 타입]의 데이터로 설정되어 있기 때문에 number 타입으로 표시된다.
Number.isNaN()
자바스크립트에는 NaN이라는 값이 있는데 이를 판별해주는 메소드. 기본적으로 아래와 같이 NaN이 맞는지 체크해보는 방식들로는 false 값만 받게 되기 때문에 Number.isNaN()을 사용해서 확인해야 한다.
console.log(NaN == NaN); // false
console.log(NaN === NaN); // false
let typeNaN = NaN;
console.log(typeNaN === NaN); // false
console.log(Number.isNaN(typeNaN)); // true
NaN 이 'Not a Number' 이라고 해서 숫자가 아닌 모든 값(문자열, Boolean 등등)이 NaN 이라는 뜻이 아니다.
NaN을 반환하는 연산에는 다섯 가지 종류가 있습니다.
- 숫자로서 읽을 수 없음 (parseInt("텍스트"), Number(undefined))
- 결과가 허수인 수학 계산식 (Math.sqrt(-1))
- 피연산자가 NaN (7 ** NaN)
- 정의할 수 없는 계산식 (0 * Infinity)
- 문자열을 포함하면서 덧셈이 아닌 계산식 ("가" / 3)
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/NaN
Number.isInteger()
정수인지 판별해주는 메소드. (정수란? 음의 정수(-1,-2...) 와 0과 양의 정수(1,2...)를 말함)
console.log(Number.isInteger(0)); // true
console.log(Number.isInteger(1)); // true
console.log(Number.isInteger(-1)); // true
console.log(Number.isInteger(1.0)); // true (사실상 1과 같음))
console.log(Number.isInteger(1.1)); // false
console.log(Number.isInteger('12')); // false
console.log(Number.isInteger( NaN )); // false
console.log(Number.isInteger( [1] )); // false
Number.isSafeInteger()
위에 설명된 Number.isInteger()에 더해서 자바스크립트에서 안전하게 표현될 수 있는 정수인지까지 판별하는 메소드. (자바스크립트에서 표현할 수 있는 정수의 최대 값은 -(2^53 - 1) 부터 2^53 - 1 사이이다)
MAX_SAFE_INTEGER 상수는 9007199254740991(9,007,199,254,740,991 또는 약 9000조)의 값을 갖고 있습니다.
Number.isFinite()
숫자가 유한수인지 판별해주는 메소드.
Infinity 는 전역 속성은 무한대를 나타내는 숫자값
Number.isFinite(Infinity); // false
Number.isFinite(-Infinity); // false
Number.isFinite(0); // true
Number.isFinite('0'); // false
Number.isFinite(2e64); // true
Number.isFinite(null); // false
Number.isFinite(NaN); // false
Swagger
API Docs(document) 란 해당 API의 사용법을 정리해둔 명세서(설명서)이다. 사용자 입장에서는 내부 코드의 구현 방식을 알지는 못해도 API를 사용할 수 있다. Swagger은 명세서 화면에서 API를 바로 테스트 해볼 수 있다.
Author And Source
이 문제에 관하여((TIL) 2022-03-17), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@sunghwancode/TIL-2022-03-17저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)