타입스크립트란?

타입스크립트란?

타입스크립트는 자바스크립트를 기반으로 하는 프로그래밍 언어로, 자바스크립트에 새로운 기능을 추가하여 코드를 더 쉽고 강력하게 작성할 수 있게 해준다.

하지만 타입스크립트는 브라우저나 Node.js와 같은 자바스크립트 환경에서 바로 실행될 수 없다. 대신, 타입스크립트에는 컴파일러(tsc, TypeScript compiler)가 있어서 코드 변환 과정에서 타입스크립트 코드를 자바스크립트 코드로 변환하고, 정적 타입 검사(static type check)도 수행한다. 정적 타입 검사란 프로그램을 실행시키지 않고 코드의 오류를 검사하는 것을 말하는데, 타입스크립트 컴파일러는 타입을 기반으로 프로그램의 오류를 찾아낸다.

타입스크립트는 자바스크립트 상위 집합 언어이기 때문에 자바스크립트 구문이 허용된다. 따라서 타입스크립트는 자바스크립트와 동일한 런타임 동작을 유지한다. 컴파일러가 코드 검사를 마치면 타입 정보를 삭제하고, 컴파일된 자바스크립트 코드에는 타입 정보가 없다. 이는 타입스크립트가 추론한 타입에 따라 프로그램의 특성을 변화시키지 않는다는 의미이며, 결과적으로 컴파일 도중에는 타입 오류가 표출될 수 있지만, 타입 시스템 자체는 프로그램이 실행될 때 작동하는 방식과 관련이 없다.

타입스크립트를 사용해야 하는 이유

첫 번째로 코드의 가독성과 유지 보수성이 향상된다. 정적 타입 검사를 통해 코드의 안정성이 높아지고, 코드의 의도가 명확해지므로 코드를 이해하고 유지 보수하기 쉬워진다.

두 번째로 에러를 미리 방지할 수 있다. 정적 타입 검사를 통해 컴파일러가 코드의 오류를 검출해주므로 실행 시점에서 발생하는 에러를 미리 방지할 수 있다.

세 번째로 객체 지향 프로그래밍을 강화할 수 있다. 타입스크립트는 자바스크립트보다 객체 지향 프로그래밍을 더욱 강화할 수 있도록 지원하며, 클래스, 인터페이스, 제네릭 등의 객체 지향적인 기능을 지원한다.

마지막으로 개발 생산성을 높일 수 있다. 타입스크립트는 자바스크립트보다 코드의 안정성을 높이고 개발 생산성을 높일 수 있는 여러 가지 기능을 지원한다. 예를 들어, 코드 자동 완성, 타입 추론 등의 기능을 통해 개발 생산성을 높일 수 있다.


🤔 타입 추론이란?

타입 추론(Type inference)은 변수나 함수 등의 타입을 코드 작성 시 자동으로 유추해주는 기능이다. 타입 추론을 이용하면 코드 작성 시 타입을 직접 명시하지 않아도 된다.

타입 추론은 주로 변수 선언에서 사용된다. 변수에 값을 할당할 때, TypeScript는 해당 값의 타입을 분석하여 변수의 타입을 추론한다. 예를 들어, const num = 42; 라는 코드를 작성하면 TypeScript는 num 변수가 숫자형(number) 임을 추론한다. 함수에서도 타입 추론을 사용할 수 있다. 함수의 매개변수와 반환 값에 대한 타입을 추론하여 타입 오류를 방지할 수 있다. 만약 함수에서 명시적으로 타입을 지정하지 않았다면, TypeScript는 함수의 구현을 분석하여 매개변수와 반환 값의 타입을 추론한다.

  • TypeScript