728x90
TypeScript란?
타입스크립트는 자바스크립트에 타입을 부여한 언어.
Microsoft에 의해서 개발 및 관리되고 있는 오픈소스 프로그래밍 언어로
대규모 애플리케이션을 개발하는데 JS가 어렵고 불편하다는 불만에 대응하기 위해서 개발되었다.
SuperSet : JS의 모든 기능을 포함하고 있다.
👉 슈퍼셋(SuperSet)이란
슈퍼셋은 상위 집합을 의미. 모든 자바스크립트 프로그램은 이미 타입스크립트 프로그램이며,
반대로 타입 스크립트는 별도의 문법을 가지고 있기 때문에 유효한 자바스크립트 프로그램이 아니다.
👉 타입이란?
기본형 타입(단일타입)으로는 7가지(string, number, boolean, null, undefined. symbol, bigint)와
유니온 타입(다중 타입, =교집합)과 인터섹션 타입(다중 타입, =합집합), 옵셔널 타입 등과 같은 타입을 변수, 파라미터, 함수에 부여한 것을 의미
TypeScript vs JavaScript
Type
- TypeScript는 정적 타입
- JavaScript는 동적 타입
ex)
- JS : 별다른 문제 없이 값이 할당됨.
let num = 2;
num = '이';
- TS : 아래 사진 처럼 오류가 남.
let num = 2;
num = '이';
Time(변수의 type 결정 시점)
- TypeScript는 컴파일 타임에 결정된다.
- JavaScript는 런타임에 결정된다.
👉 컴파일타임 : 작성한 소스 코드가 어떠한 것(js,binary 등)으로 변환되는 과정 👉 IDE(VS Code)에서 에러가 날 상황을 빨간 줄로 미리 알려줌
👉 런타임 : 프로그램이 실행되는 과정
TypeScript를 왜 사용할까?
장점 | 단점 | |
TypeScript | 1. Microsoft에서 만들었고 꾸준히 업데이트한다. 2. 생태계가 크다. 3. Microsoft에서 개발한 vscode와 잘 맞는다. 4. 대부분의 lib에서 타입 정의 파일을 제공한다. 5. 유지보수가 JS보다 유리하다 |
1. JS에 비해 어렵다. |
JavaScript | 1. 다른 언어에 비해 쉽다. 2. 적은 양의 코딩을 할 때 쉽고 빠르게 가능 |
1. 런타임 시 오류가 검출 2. 프로젝트 사이즈가 커지면 유지보수가 어렵다. |
👉 유지보수가 유리한 이유
const 가렌 = {
position: '탑',
nation: '데마시아',
};
console.log(가렌.age);
- 에러 발생
정적 타입 언어인 TS는 IDE에서 가렌의 타입을 알기에 에러를 발생시킨다.
동적 타입 언어인 JS는 IDE에서 알 수 없다.
https://www.typescriptlang.org/ko/docs/handbook/typescript-from-scratch.html
Documentation - TypeScript for the New Programmer
Learn TypeScript from scratch
www.typescriptlang.org
728x90
'TIL' 카테고리의 다른 글
153. [TypeScript] 기본타입 TIL.23.05.10 (0) | 2023.05.10 |
---|---|
152. [TypeScript] TS 설치하기 TIL 23.05.09 (0) | 2023.05.09 |
150. [JS] JavaScript 실행컨텍스트(Execution Context) TIL 23.04.25 (0) | 2023.04.25 |
149. [CS] SSR, CSR, SSG 장단점 TIL 23.04.1 (0) | 2023.04.14 |
148. [CSS] CSS Position TIL23.04.11 (0) | 2023.04.11 |
댓글