Web Front-end 공부/TypeScript4 [TypeScript] 타입 추론 이해하기 # let 과 const의 타입추론 (+ as const) let 과 const로 정의될 때 타입추론에 대한 차이가 있음 let a ='Mark' // string const b = 'Mark' // 'Mark' => literal type let c = 38; // number const d= 28 // 28 => litetal type let e= false; // boolean const f = false // false => literal type let g = ['Mark', 'haeun'] // string[] const h = ['Mark', 'haeun'] // string[] const i = ['Mark', 'haeun', 'bokdong'] as const // readonly ['M.. 2023. 2. 27. [TypeScript] 서브타입과 슈퍼타입 # 타입트리 계층 타입스크립트에서 모든 타입은 계층구조에서 자리를 차지한다. 타입은 트리의 부모노드와 자식노드가 될 수 있다. 타입시스템에서 이러한 관계에 대해 상위노드를 슈퍼타입, 하위노드를 서브타입이라고 한다 "Car is Vehicle" : 부모클래스가 Vehicle, 자식클래스가 Car일때, Car is Vehicle은 성립하는 문장이지만 그 반대는 안된다. 이 상속의 의미론은 타입스크립트의 타입계층에서도 적용된다. 출처 : https://itchallenger.tistory.com/447 타입스크립트 타입 호환성과 타입 계층 트리 타입스크립트의 타입 계층을 통해 타입 호환성을 알아봅시다. 1. 타입 호환성은 뭔가요? 타입 호환성 Documentation - Type Compatibility Ho.. 2023. 2. 27. [TypeScript] Interface와 Type Alias Structural type system : 타입스크립트에서느 구조가 같으면 같은 타입으로 취급된다. // interface와 type의 모양(구조)가 같으면 같은 타입으로 인식된다. interface IPerson{ name : string; age : number; speak(): string; } type PersonType ={ name : string; age: number speak(): string; } let personInterface : IPerson = {} as any ; let personType : PersonType = {} as any; personInterface = personType; personeType = personInterface; nominal type syst.. 2023. 2. 27. [TypeScript] 타입시스템 사용하기 1. 작성자와 사용자 타입시스템 : 컴파일러에게 사용하는 타입을 명시적으로 지정하는 시스템 / 컴파일러가 자동을 타입을 추론하는 시스템 타입스크립트의 타입시스템 : 타입을 명시적으로 지정할 수 있고, 만약 지정하지 않으면 타입스크립트 컴파일러가 자동으로 타입을 추론한다. 그래서 타입스크립트의 추론기능은 중요한 것 중 하나이다. 타입이란, 해당 변수가 할 수 있는 일을 결정하는 것이다. 자바스크립트에서는 함수 사용법에 대해 오해가 종종 발생하곤 한다. // 함수f2의 결과를 NaN으로 의도한게 아니라면, 이 함수의 작성자는 매개변수 a가 number타입이라는 가정으로 작성했을 것이다. function f2(a){ return a*38 } //사용자가 사용법을 숙지하지 못하고 문자를 사용하면 NaN이 나와 .. 2023. 2. 26. 이전 1 다음