인터페이스, 인덱싱 기능, 타입 + 확장 그리고 this타입 등등..
TS 스터디 정리.
밤이 늦었으니 간단히
type UserT = { name: string; readonly age: number; // 이렇게 타입 별칭에서도 ? 키워드를 사용할 수 있다. isValid?: boolean; }; // 타입 별칭과 인터페이스의 차이 // 일단 키워드가 다르다. 이름을 지을 수 있지만 type 별칭은 할당연산자(=) 이 있지만 인터페이스는 없다. // interface UserI { // 쉼표나 세미콜론으로 구분해도 되는데 없어도 된다. name: string; readonly age: number; // isValid: boolean; // 이건 에러가 나지만 isValid?: boolean; // 이렇게 물음표를 넣어주면 아래 코드에서 에러가 나지 않는다. }
interface User {
name: string;
age: number;
}
// 엥..? 이렇게 그냥 된다고..?
// 그냥 알아서 확장된다
// 즉, 중복선언이 가능하고 합쳐(병합)진다.
interface User {
isValid: boolean;
}
// this: User으로 this의 타입은 User야 라고 `명시`해주는 것이다. // 아~ this에 대한 타입을 여기서 결정하려나보다~ // 우리가 직접 작성해서 TS에게 알려준다. 그래서 명시적 this타입이다. // 이런 경우가 종종 있어요~ function greet(this: User, msg: string) { // 이런 암시적으로 에러가 나는 타입은 문제를 야기한다. // 그래서 이 this가 무엇인지 우리는 얘한테 알려줘야한다! return `Hello ${this.name}, ${msg}`; }
많은 걸 하지 않았다. 곧 방학이고 강의도 얼마 안남아서 싱숭생숭해서 그런 것 같은데 마음을 잘 잡자. 해야 할 게 많다. 그래도 주말동안 코딩 안놨다. 헤헤
내일도 잘해봅시다.🔥 그리고..
T1 우승 가즈아~ 징동 따운 lpl 비상 고척돔 나와 뉴진스 나와
어느 스포츠나 최고의 선수들 간 경쟁에는 감동이 있다. 나도 저렇게 열심히 해야지!
TIL 작성 소요시간 약 10분