인터페이스(interface) 인터페이스를 통해 값이 따라야 할 제약을 타입으로 표현 한다. 값이 어떤 멤버를 가져야 하고 각 멤버의 타입은 어때야 하는지 서술할 수 있다. interface x { a: string; b: number; } 인터페이스의 속성을 읽기 전용 또는 선택 속성으로 정의할 수 있다. interface x { a: string; readonly b: number; //읽기전용 c?: string; //선택 } const y: x = { a: 'ab', b: 11 }; y.b = 22; // error TS2540: Cannot assign to 'b' because it is a constant or a read-only property. 함수 인터페이스 인터페이스를 이용해 함수 ..
type assertion 컴파일러에게 타입의 형식을 알려주는것 TypeScript 컴파일러가 타입을 실제 런타임에 존재할 변수의 타입과 다르게 추론하거나 너무 보수적으로 추론하는 경우에 프로그래머가 수동으로 컴파일러한테 특정 변수에 대해 타입 힌트를 주는 것이다. 형변환과는 다르다. 형변환은 실제 데이터 구조를 바꿔준다. 주로 넓은 타입에서 좁은 타입으로 강제하는 경우가 많다.(any -> string/number ...) 문법 변수 as 강제할 타입 변수 ex) let someValue: any = "this is a string"; let strLength: number = (someValue).length; let strLength: number = (someValue as string).leng..