type 체크 문제 Tip

카테고리 Algorithm

문제

입력값에 {}, [], null이 들어가면 출력값으로 type을 반환하도록 하는 함수를 만들어라

내 코드

1
2
3
4
5
6
7
8
9
10
11
const typeIs = (data) => {
if (typeof data !== "object") {
throw new TypeError(`${data}는 'object' 타입이 아닙니다.`);
}
if (Array.isArray(data)) {
return "array";
} else if (data === null) {
return "null";
}
return "object";
};
  • 입력값에 object 타입만 받을 수 있도록 에러처리를 해주었다.
  • if, else if 문으로 조건에 따라 반환값을 반환해주었다.

새로운 코드

1
2
3
4
const typeIs = data => {
return ({}).toString.call(data).toLowerCase().slice(8, -1);
}
toString() 메서드는 “[object type]”을 반환한다.
  • call 메서드를 사용하여 data 값을 바인딩 toString() 메서드에 바인딩 해주었다.

댓글 공유

  • page 1 of 1

loco9939

author.bio


author.job