게으른 개발자의 끄적거림

TypeScript란? (feat.JavaScript)

끄적잉 2024. 3. 6. 21:54
반응형

TypeScript란? (feat.JavaScript)

 

TypeScript는 마이크로소프트에서 개발한 오픈 소스 프로그래밍 언어로, 자바스크립트의 확장된 버전입니다. 정적 타입을 지원하여 개발자가 코드를 더 안정적으로 작성할 수 있도록 돕습니다. TypeScript는 자바스크립트의 모든 기능을 포함하며, 타입 시스템을 추가하여 개발자가 변수, 매개변수 및 반환 값의 데이터 유형을 명시적으로 지정할 수 있습니다. 이러한 정적 타입 검사는 컴파일 시간에 수행되므로 런타임 오류를 줄이고 코드의 가독성과 유지 보수성을 향상시킵니다.

 

TypeScript는 객체지향 및 함수형 프로그래밍 패러다임을 모두 지원합니다. 클래스, 인터페이스, 제네릭 등과 같은 객체지향 프로그래밍 개념을 사용하여 코드를 구성할 수 있으며, 화살표 함수, 고차 함수 등과 같은 함수형 프로그래밍 개념도 적용할 수 있습니다. 또한 ES6 이상의 최신 자바스크립트 기능을 지원하여 개발자가 최신 기술을 활용할 수 있도록 합니다.

 


TypeScript는 JavaScript와 함께 사용할 수 있으며, 기존 JavaScript 코드를 쉽게 TypeScript로 이전할 수 있습니다. TypeScript는 확장자가 `.ts`인 파일로 작성되며, TypeScript 컴파일러를 사용하여 JavaScript 파일로 변환됩니다. 이러한 컴파일 과정에서 정적 타입 검사가 수행되며, 오류가 발견되면 컴파일이 실패합니다. 이는 개발자가 타입 관련 오류를 빠르게 파악하고 수정할 수 있도록 도와줍니다.

 


TypeScript는 주로 대규모 프로젝트 및 팀에서 사용되며, 코드의 유지 보수성과 협업성을 향상시키는 데 도움이 됩니다. 타입 시스템은 코드의 동작을 명확하게 문서화하고, IDE에서 코드 완성 기능 및 타입 체크 도구를 제공하여 개발 생산성을 높여줍니다. 또한 타입스크립트는 Angular, React, Vue.js 등과 같은 프레임워크 및 라이브러리와의 통합을 지원하여 웹 애플리케이션 개발을 간편하게 합니다.

반응형

 

이제 JavaScript와 TypeScript의 주요 차이점을 살펴보겠습니다.

 

1. **정적 타입 지원**: TypeScript는 정적 타입을 지원합니다. 개발자가 변수, 매개변수, 함수 등에 대한 데이터 유형을 명시적으로 지정할 수 있으며, 컴파일러가 코드를 검사하여 타입 관련 오류를 미리 파악할 수 있습니다. JavaScript는 동적 타입 언어이므로 변수의 타입을 런타임에 결정합니다.

2. **컴파일 시 타입 검사**: TypeScript는 코드를 컴파일하기 전에 타입 검사를 수행합니다. 이를 통해 개발자는 오류를 컴파일 전에 파악하고 수정할 수 있습니다. JavaScript는 런타임에 타입 오류가 발생하며, 이러한 오류를 잡기 위해서는 코드 실행이 필요합니다.

3. **객체지향 프로그래밍의 강화**: TypeScript는 클래스, 인터페이스, 제네릭 등과 같은 객체지향 프로그래밍 개념을 지원하여 코드를 구성하는 데 도움을 줍니다. JavaScript는 프로토타입 기반의 객체지향 프로그래밍을 지원하지만, TypeScript는 클래스 기반의 객체지향 프로그래밍을 더 쉽게 사용할 수 있습니다.

4. **타입 어노테이션과 추론**: TypeScript에서는 변수나 함수의 매개변수에 대한 타입 어노테이션을 명시적으로 지정할 수 있습니다. 이를 통해 코드의 가독성을 높이고, 타입 관련 오류를 미리 방지할 수 있습니다. JavaScript는 타입 추론을 통해 변수의 타입을 유추하지만, 명시적인 타입 어노테이션을 지원하지 않습니다.

5. **프로젝트 구조 및 모듈화**: TypeScript는 ES6의 모듈 시스템을 기반으로 한 내장 모듈 시스템을 지원합니다. 이를 통해 프로젝트를 모듈화하고, 의존성을 관리할 수 있습니다. JavaScript는 ES6부터 모듈 시스템을 지원하지만, TypeScript에서는 모듈 시스템을 더욱 강력하게 활용할 수 있습니다.

이러한 차이점들로 인해 TypeScript는 JavaScript보다 코드의 안정성과 가독성을 높일 수 있으며, 대규모 프로젝트의 개발 및 유지 보수에 더 적합한 언어로 평가됩니다.

 

반응형