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에 할당될 수 없습니다.