복슬이
1k
2021-07-15 17:38:47
2
78

typescript에서 인스턴스 변수의 타입을 알수 있는 방법이 있을까요?


예를 들어 아래 코드에서 now라는 변수의 타입을 알 수 있을 까요?

const now = new Date();


구글링 해보면 typeof를 사용하라고 합니다.

typeof(now) 하면 그냥 'object'라고 나옵니다.

저는 'Date'라고 나오길 기대 했거든요.


자바 같은 경우

Date now = new Date();
System.out.println(now.getClass().getName());

이렇게 하면 "java.util.Date" 이렇게 나옵니다.

이런 느낌으로 typescript에서도 변수의 정확한 타입을 알 수 있는 방법이 있을까요?


사실 너무 간단한것 같아서 쉽게 찾을 수 있다고 생각했습니다. ㅡㅡ;

0
  • 답변 2

  • 신히
    830
    2021-07-15 21:02:15

    아래와 같이 헬퍼함수를 만들어 써보세요.

    getClass = function (obj) {
        instance = typeof(obj)

        if (instance === 'object')
            return obj.constructor.name

        return instance
    }

    const now = new Date();
    const i = 1

    console.log(getClass(now))
    console.log(getClass(i))


    🚀 소스 테스트 해보기

  • 복슬이
    1k
    2021-07-15 21:36:00

    아.. 이런 방법이 있었군요.. 고맙습니다. ^^

  • 로그인을 하시면 답변을 등록할 수 있습니다.