인터페이스 와 Optional Chaining & Optional Properties

이동규·2023년 11월 22일

Typescript

목록 보기
6/6

인터페이스에 관하여

인터페이스는 일반적으로 타입 체크를 위해 사용되며 변수, 함수, 클래스에 사용할 수 있다. 인터페이스는 여러가지 타입을 갖는 프로퍼티로 이루어진 새로운 타입을 정의하는 것과 유사하다. 인터페이스에 선언된 프로퍼티 또는 메소드의 구현을 강제하여 일관성을 유지할 수 있도록 하는 것이다. ES6는 인터페이스를 지원하지 않지만 TypeScript는 인터페이스를 지원한다. 인터페이스는 다른 인터페이스를 상속 할 수 있으며, 여러 인터페이스를 결합 할 수 있다. 타입은 & (인젝션 타입을 사용한다.)

 interface Info {
  id:number;
  autor:string;
  content:string;
  emotion:number;
  created_date:number;
};

interface oncreate {
    onCreate:()=>void;// 함수를 나타내는 방법
}

Optional Chaining에 관하여

옵셔널 체이닝은 프로퍼티의 타입이 null 또는 undefined가 올 수 있는 경우 사용된다.즉 null값이면 undefined처리를 해주는 것이다.

type myobj = {
    name:string |null | undefined;
}
let arr:number[] = [];
console.log(arr?.[1]); // arr의 값은 null이다.따라서 undefined를 출력한다.
let obj:myobj = {name:null};
console.log(obj.name?.length);// 에러가 발생하지 않고 undefined를 출력한다.

Optional Properties에 관하여

타입스크립트는 타입에 엄격한 프로그래밍 언어이므로 객체 프로퍼티의 타입을 정의했으나 값을 할당 하지 않는 경우 에러가 발생한다.이를 방지하기 위한 방법이 optional properties이다.

interface Info {
  name: string;
  age?: number;
}

let obj: Info = {
  name: 'FaceBook'
};// obj에 age라는 프로퍼티가 없기 때문에 에러가 나야 정상이지만 생략이 가능하다.

0개의 댓글