타입스크립트 기초 문법-객체

Cornflower blue·2022년 8월 26일
0

3.3 객체

자바스크립트에서 가장 일반적이고 널리 사용되는 자료 구조인 객체의 타입에 대해 다룬다.

객체 타입

자바스크립트의 오브젝트 리터럴을 정의하듯 중괄호({})를 이용해 객체 타입(object type)을 표현할 수 있다.

const user: {name: string, height: number;} = {name: '안희종', height: 176};

이 때 객체 타입 정의는 오브젝트 리터럴과 다음과 같은 차이점을 갖는다.

  • 콜론의 우변에는 값 대신 해당 속성의 타입이 들어간다.
  • 구분자로 콤마, 뿐만 아니라 세미콜론을 ; 사용할 수 있다.

선택 속성

함수의 선택 매개변수와 비슷하게 속성명 뒤에 물음표? 를 붙여 해당 속성이 존재하지 않을 수도 있을 표현할 수 있다.

const userWithUnknownHeight: {name: string; height?: number;} = { name: '김수한무'};

읽기 전용 속성

속성명 앞에 readonly 키워드를 붙여 해당 속성의 재할당을 막을 수 있다. readonly키워드가 붙은 속성은 const 키워드를 이용한 변수의 정의와 비슷하게 동작한다.

const user: {
	readonly name: string;
  	height: number;
} = { name: '안희종', height: 176};
user.name = '종희안';// error TS2540: Cannot assign to 'name' because it is a constant or a read-only property.

출처 : https://ahnheejong.gitbook.io/ts-for-jsdev/03-basic-grammar/object

profile
무언가를 만들어낸다는 것은 무척이나 즐거운 일입니다.

0개의 댓글