1. TypeScript란? TypeScript는 이미 존재하고 있는 JavaScript를 바탕으로 만들어진 '언어+컴파일러'이다. 즉 TS의 형태로 코드를 작성하고 컴파일러를 통해 이를 JS의 형태로 다시 변환하여 사용할 수 있게 한다. 2. TypeScript를 쓰는 이유 TS는 웹에서 다루는 데이터들의 형태를 잡아주기 때문에 기술적, 논리적으로 생...
1. TS 주요 데이터 타입 : number(실수), string, boolean, object, array, tuple, enum(열거형), any 등 > - tuple 같은 경우는 python 같은 언어에서는 있는 데이터 형태이지만 JS에는 기본적으로 내재되어 있지 않은 데이터 타입이다. TS는 tuple 데이터 타입 또한 사용할 수 있게 해준다. t...
1. Watch mode(개별 파일 컴파일) 파일을 수정할 때마다 일일이 컴파일해주기 귀찮으니까 파일을 수정하고 저장할 때마다 알아서 컴파일해주도록 도와주는 모드 tsc 파일.ts -w 파일별로 일일이 사용해줘야 되므로 대형 프로젝트에는 적합하지 않다. 2. 전체/다수 파일 컴파일 프로젝트 폴더 위치(경로 꼭 확인)에서 'tsc --init'을 입력하면...
1. var, let, const var는 예전부터 JS에서 변수를 선언하기 위해 사용되어 왔고, let과 const는 ES6 버전부터 사용되기 시작됐다. const는 말그대로 상수(constant)를 설정해주기 위한 것으로 절대로 변하지 않을 값을 지정할 때 사용한다. let은 재할당될 수 있는 변수값을 지정할 때 사용한다. 그렇다면 let과 var가...
1. 클래스 기초 1. 클래스 & 인스턴스란? 1) 클래스: 객채의 청사진으로, 객체의 형태 및 포함되어야 할 메소드를 정의한다. 관례상 클래스를 정의할 때 맨 첫글자를 대문자로 작성한다. 생성자(constructor): 인스턴스를 생성할 때 초기화하기 위한 메소드이다. -> 인스턴스를 생성할 때 받은 인자는 생성자를 통해 클래스의 필드에 저장되며 이는 ...
1. 교차타입(Intersection type) 기존에 정의해놓은 타입을 결합하여 사용하는 타입 아래와 같은 경우 Admin과 Employee에서 정해놓은 프로퍼티가 하나라도 없으면 에러가 난다. 인터페이스로도 전환 가능하다. 유니언 타입과 쓸 때는 두 타입이 공통적으로 갖고 있는 교집합 타입만 할당 가능하다. 2. Type Guard 유니언 타입 사...
1. 제네릭이란(Generics)? 제네릭은 선언 시점이 아닌 생성 시점에 타입을 명시하여 여러 데이터 타입에 대해 클래스/인터페이스/함수가 동일하게 동작할 수 있게 해주는 기능이다. 제네릭 타입은 TS에만 있지 JS에는 없는 개념이다. 참고: 제네릭1 참고: 제네릭2 2. 제네릭 함수 1) 제네릭 함수 작성하기 함수에 꺽쇠괄호 안에 제네릭 타입(T)을 ...
1. 데코레이터란? 1) 메타 프로그래밍이란? 메타프로그래밍이란 자기 자신 혹은 다른 컴퓨터 프로그램을 데이터로 취급하며 프로그램을 작성·수정하는 것을 말한다.(from 위키백과) 클래스와 데코레이터를 작성해두면 end user가 이를 유틸리티처럼 사용하며 손쉽게 개발할 수 있게 된다. 이런 의미에서 데코레이터를 메타 프로그래밍을 가능하게 한다고 하는 모양...