인터페이스에 관하여
인터페이스는 일반적으로 타입 체크를 위해 사용되며 변수, 함수, 클래스에 사용할 수 있다. 인터페이스는 여러가지 타입을 갖는 프로퍼티로 이루어진 새로운 타입을 정의하는 것과 유사하다. 인터페이스에 선언된 프로퍼티 또는 메소드의 구현을 강제하여 일관성을 유지할 수 있도록 하는 것이다. 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]);
let obj:myobj = {name:null};
console.log(obj.name?.length);
Optional Properties에 관하여
타입스크립트는 타입에 엄격한 프로그래밍 언어이므로 객체 프로퍼티의 타입을 정의했으나 값을 할당 하지 않는 경우 에러가 발생한다.이를 방지하기 위한 방법이 optional properties이다.
interface Info {
name: string;
age?: number;
}
let obj: Info = {
name: 'FaceBook'
};