객체 타입
자바스크립트에서 객체 타입은 키와 값을 중괄호로 감싼 형태의 데이터 타입을 의미합니다:
타입스크립트 역시 객체 타입이 존재합니다.
타입스크립트의 객체 타입은 자바스크립트의 그것과 비슷하지만 조금 다르게 생겼습니다. 예시를 살펴보겠습니다:
가장 먼저 눈에 띄는 점은, 객체의 속성이 키와 값 쌍으로 이루어진 것이 아니라 키와 타입 쌍으로 이루어져 있다는 점입니다. 또한 쉼표로 속성을 나누는 것이 아니라 세미 콜론으로 나눈다는 차이점도 있습니다.
타입스크립트에서는 변수에 특정한 타입을 명시적으로 선언할 수 있습니다:
객체 타입 역시 명시적으로 선언할 수 있는데요.
pets
변수에 object
타입을 할당해준 것 이외에는 별다를게 없어 보입니다. 하지만 조금 특별한 점이 있는데요, 위 예제에서 pets
의 속성에 접근하려고 하면 타입스크립트에서 에러를 발생한다는 것입니다.
pets
객체의 kind
에 접근하려고해도 접근할 수 없습니다. 그 이유는 pets
라는 객체에 대해 구체적인 정보를 주지 않았기 때문입니다. 따라서 객체 타입에 좀 더 구체적인 정보를 제공하면 위의 에러를 해결할 수 있습니다.
이제 위 코드를 컴파일 해도 문제가 생기지 않습니다. 타입스크립트에서 객체를 이해하기 위해서는 위의 방법이 편리하지만, 좋은 표현은 아닙니다. 보기에도 불편하지만 const
키워드로 선언한 변수에 다시 할당 하였다고 에러 역시 발생합니다.
돌고 돌아 온 것 같지만, 직전에 사용한 예시 보다는 위처럼 자바스크립트 객체와 같은 방법으로 사용하시면 됩니다.