2020. 2. 26. 23:23ㆍtypescript/typescript-grammar
뭔가 새로운 것을 공부할걸 찾아보다가 typescript가 눈에 들어왔다. 평소 react와 node를 사용해 프로젝트를 실행했었는데 사실 이때까지는 typescript라는 존재를 알고 있었지만 js가 있는데 왜? 써야할까라는 생각을 한적 있었다. 아마 이 글을 읽고 있는 필자들도 그럴 것이다. 그래서 이번 글에서는 간단하게 특장점을 정리할 것이다.
https://www.typescriptlang.org/index.html
특징 및 장점
1. 변수 및 함수 반환에 타입이 생김
자바스크립트는 모두가 알다시피 특별히 타입이 없습니다. 이 점은 개발자가 실수를 하기가 쉽습니다. 그래서 기존 변수와 파라미터, 함수에 타입을 지정하여 사용한다. 그래서 타입스크립트는 코드를 쉽고 에러를 피할 수 있게합니다.
예시)
javascript
class AlligatorsService {
public alligators = [];
public addAlligator(alligator) {
if (this.isValid(alligator)) {
alligators.push(alligator);
}
}
private isValid(alligator) {
return alligator.name;
}
}
typescript
class AlligatorsService {
public alligators: Alligator[] = [];
public addAlligator(alligator: Alligator): void {
if (this.isValid(alligator)) {
alligators.push(alligator);
}
}
private isValid(alligator: Alligator): boolean {
return alligator.name;
}
javascript와 다르게 여기서 alligator 파라미터가 정확히 무슨 타입인지 알 수 있어서 처음 클래스를 봐도 좀 더 알아보기 쉽고 실수할 확률이 낮아진다. 그리고 각 메소드에도 반환타입들이 붙어 정확히 무슨 타입을 반환하는지 알 수 있다.
2. 최신 자바스크립트의 요소들을 사용할 수 있다. 최신 자바스크립틀를 사용하려면 babel등을 설정해주어야 하는데 typescript를 사용하면 babel 설정이 필요없다. 그리고 npm을 통해서 typescript를 설치할 수 있다. 추가로 자바스크립트의 최신 라이브러리들과 연동해서 사용할 수 있다. 여러분이 아시는
3. 객체지향프로그래밍
객체지향프로그래밍의 컨샙을 따서 class, interface, inheritance등을 사용할 수 있습니다.
4. 컴파일 언어
js의 경우 한줄씩 읽으며 코드를 진행하는 인터프리터 언어였습니다. 그래서 node index.js로 실행할 때 tsc index로 명령어를 쳐주면 실행이 아닌 컴파일이 됩니다. 여기서 컴파일러는 타입스크립트를 자바스크립트로 변형시킵니다. 그래서 컴파일러를 실행하면 동일한 js파일이 하나 생깁니다.
5. ts는 편리하다
타입스크립트는 브라우저, 디바이스, os등에 편하게 사용할 수 있습니다. 그리고 자바와 같은 vm이나 runtime환경이 필요없습니다.
참고 사이트
https://alligator.io/typescript/typescript-benefits/
https://www.tutorialspoint.com/typescript/typescript_overview.htm
https://en.wikipedia.org/wiki/TypeScript
'typescript > typescript-grammar' 카테고리의 다른 글
6. typescript - class (0) | 2020.03.06 |
---|---|
5. typescript - interfaces (0) | 2020.03.03 |
4. typescript - 변수 선언 (0) | 2020.02.29 |
3. typescript - 타입 (0) | 2020.02.27 |
2. typescript - 개발환경 설정 (0) | 2020.02.27 |