TypeScript - 42-Tomodachi/ft_transcendence GitHub Wiki

TypeScript

타입 스크립트에 대해 알아보자

타입 스크립트란?

Miscro Soft에서 개발한 오픈소스 프로그래밍 언어이다. JavaScript의 단점을 개선하기 위해 만들어졌다.

타입 스크립트의 특징

정적 타입

JavaScript는 느슨한 동적 타입 언어이다. 변수의 타입이 정해지는 시점은 값이 할당 될 때 이며 (동적 타입) 다른 타입의 값이 할당되면 변수의 타입은 다시 변경된다 (느슨하다). JavaScript의 이런 특성은 변수의 유연한 사용이 가능하다는 장점이 있지만 예기치 못한 에러를 유발하고 에러를 런타임에 알 수 밖에 없다는 단점이 존재한다. 이는 코드를 유지보수하는데 어려움을 야기하므로 프로젝트의 단위가 커질수록 장점보다는 단점이 더욱 커진다고 할 수 있다.

// 인자 a와 b를 더하는 함수
function sum(a, b) {
  return a + b;
}

sum(10, 20); // 결과 30, 정상 작동
sum('10', '20'); // 결과 '1020', 예기치 못한 동작 발생

JavaScript에 정적 타입 개념을 도입하여 이러한 단점을 해결한 것이 바로 TypeScript이다. TypeScript는 변수에 타입을 설정할 수 있으며 (정적 타입) 한 번 설정된 변수의 타입은 변경이 불가능하다 (엄격하다). TypeScirpt는 엄격한 정적 타입을 사용함으로서 코드의 예기치 못한 에러의 발생을 줄이고 에러 발생 시 이를 컴파일 타임에 알 수 있다는 장점이 있다. Better the devil you know (아는 악마가 낫다).

// 인자 a와 b를 더하는 함수 (TypeScript)
function sum(a: number, b: number) {
  return a + b;
}

sum(10, 20); // 결과 30, 정상 작동
sum('10', '20'); // 컴파일 에러: '10'은 number에 할당될 수 없습니다.

참고 링크

유튜브 영상