본문 바로가기

JavaScript/Typescript

(6)
TypeScript - class class와 object는 OOP(Object Oriented Programing)의 기본 개념입니다. class는 object가 생성되는 데 사용되는, 사용자 정의 청사진(설계도) 또는 프로토타입입니다. class는 어떠한 객체의 공통적인 속성 또는 메서드 집합을 나타냅니다. JavaScript에서의 class 간략 사용법 class 키워드를 사용해 class를 만들 수 있다. class 네이밍엔 파스칼 표기법을 사용한다(예: PascalCase) new 키워드를 사용해 class의 object를 만들 수 있다 constructor 함수를 이용해 object를 만들면서 값을 전달할 수 있다. class 내부에서 this를 사용하면, 만들어진 object에 접근할 수 있다. TypeScript에서 tar..
TypeScript - interface Java 프로그래밍 언어에서 interface는 Class의 규격을 지정하는 데 사용되는 추상 자료형입니다. 상속받은 interface의 구현을 강제하여 코드의 일관성을 유지시키는 데 도움이 됩니다. TypeScript에선, interface를 타입 체크를 위해 클래스 뿐만 아니라 변수, 함수에도 사용할 수 있습니다. interface를 타입으로 선언하거나 상속받은 개체는 interface를 준수해 구현해야 합니다. 1. 변수에 인터페이스 적용 변수의 규격을 지정할 수 있습니다. // 사람이라면, 이름과 나이가 있어야 한다 interface Person { name: string; age: number; }; // 변수에 인터페이스를 적용 const p1: Person = { name: 'mark', a..
TypeScript - 타입 호환성 일반적으로 슈퍼 타입을 서브 타입에 할당할 수 없습니다. (공변) // sub1은 sup1의 서브 타입 let sub1: 1 = 1; let sup1: number = sub1; sub1 = sup1; // 오류 발생: 서브 타입에 슈퍼 타입을 할당할 수 없음 // sub2는 sup2의 서브 타입( array는 object의 서브 타입 ) let sub2: number[] = [1]; let sup2: object = sub2; sub2 = sup2; // 오류 발생 // sub3은 sup3의 서브 타입( 타입이 같은 요소를 가진 tuple은 array의 서브 타입 ) let sub3: [number, number] = [1,2]; let sup3: number[] = sub3; sub3 = sup3; ..
TypeScript - Type System 타입스크립트에는 Structural Type System과 Nominal Type System의 두 가지 체계가 있습니다. 타입스크립트는 기본적으로 Structural Type System을 따릅니다. 1. Structural Type System 구조가 같으면, 같은 타입이다. interface IDuck { quack(): void; } class MallarDuck implements IDuck { quack() { console.log('Quack!'); } } class RedheadDuck { quack() { console.log('q~uack!'); } } function makeNoise( duck: IDuck ) { console.log( duck.quack() ); } makeNoi..
TypeScript - Type의 종류 TypeScript는 JavaScript를 포함하고, 추가적인 타입들을 제공합니다. JavaScript의 기본 자료형 Boolean Number String Null Undefined(, Undeclared) Symbol Array Object Literal Function TypeScirpt에 추가된 요소 Any Unknown Never Void Enum Tuple Union, Intersection 문법 Type Alias Literal JavaScript의 자료형은 알고 있다는 전제 하에, TypeSciprt에 추가된 요소들을 알아보겠습니다. 1. Any 어떤 타입이어도 상관없는 타입입니다. 컴파일 시에 타입 체크가 정상적으로 이뤄지지 않기 때문에, 사용하는 걸 권장하지 않습니다. any가 필요한..
TypeScript - 기본 개념과 설치해보기 1. TypeScript? JavaScript에 Type이라는 개념을 적용한 컴파일 정적 타입 언어 MS에서 개발하고 관리하는 오픈소스 프로그래밍 언어입니다. TypeScirpt는 JavaScript에 Type이란 개념을 추가함으로써 확장시킵니다. TypeScript는 코드를 실행하기 전에 컴파일(또는 트랜스파일)을 통해 에러를 디버깅하는 데 시간을 절약하게 해줍니다. 어떤 브라우저나 OS, JavaScript 실행 환경에 적용할 수 있습니다. TypeScript는 JavaScript(ECMA Script) 전체를 포함하며, 여기에 추가적인 기능을 제공하기도 합니다. TypeScript로 작성된 코드는 컴파일 과정을 거쳐 JavaScript로 변환하고, 이는 JavaScript 실행 환경인 브라우저나 N..