반응형

타입스크립트 ( TypeScript )에 대한 내용입니다.

타입스크립트는 선택적인 정적 타이핑 및 기타 기능을 언어에 추가하는 정적으로 유형이 지정된 Javascript의 상위 집합입니다.

Microsoft에서 개발 및 유지 관리하며 웹 개발 세계에서 많은 인기를 얻었습니다.

타입스크립트는 컴파일 타임에 유형 관련 오류를 포착하고, 더 나은 도구를 제공하고 코드 품질과 유지 관리성을 향상시켜 개발 경험을 향상시키는 것을 목표로 합니다.

 

TypeScript의 주요 기능과 개념

1. 정적 타이핑 ( Static Typing ): 타입스크립트는 정적 타이핑을 도입하여 개발자가 변수, 함수 매개 변수, 반환 값 등에 대한 유형을 정의할 수 있도록 합니다. 이를 통해 개발 프로세스 초기에 유형 관련 오류를 파악할 수 있기 때문에 런타임 오류를 줄일 수 있습니다.

function add (a: number, b: number): number {
    return a + b;
}

const result = add(2, 3); // 5
const invalidResult: string = add(2, 3); // Type Error

 

2. 유형 추론 ( Type Inference ): 유형 스크립트는 유형 추론을 사용하여 가능할 때마다 자동으로 유형을 결정합니다. 이것은 항상 유형에 명시적으로 주석을 달 필요가 없다는 것을 의미합니다.

유형 스크립트는 종종 코드를 작성하는 방법에 따라 유형을 추론할 수 있습니다.

let name = "Jun" // TypeScript infers `name` as a string

 

3. 인터페이스 및 클래스 ( Interfaces and Classes ): 타입스크립트는 객체 모양을 정의하고 데이터 및 동작을 캡슐화하기 위한 인터페이스 및 클래스를 지원합니다. 이를 통해 구조화된 데이터 작업 및 객체 지향 코드 작성이 용이합니다.

interface Person {
    name: string;
    age: number;
}

class Student implements Person {
    constructor(public name: string, public age: number) {}
}

const student = new Student("Jun", 25);

 

4. 열거 ( Enums ): 타입스크립트에는 명명된 상수 값을 정의할 수 있는 Enums가 포함되어 있습니다.

enum Color {
    Red,
    Green,
    Blue
}

const selectedColor: Color = Color.Red;

 

5. 모듈 ( Modules ): 타입스크립트는 코드를 정리하고 구조화하는 모듈 시스템을 제공합니다. 파일 간의 종속성을 정의하기 위해 Import and Export문을 사용합니다.

// math.ts
export function add (a: number, b: number): number {
    return a + b;
}


// index.ts
import { add } from "./math";
const result = add(2, 3);

 

6. 타입스크립트 컴파일러 ( TSC: TypeScript Compiler ): 타입스크립트 코드는 타입스크립트 컴파일러를 이용하여 자바스크립트로 변환되며, 이를 통해 모든 자바스크립트 환경에서 실행 가능한 자바스크립트 코드가 생성됩니다.

 

7. 툴링 지원 ( Tooling Support ): 타입스크립트는 지능적인 코드 완성, 타입 확인 및 생산성을 향상시키는 기타 기능을 제공하는 Visual Studio Code와 같은 코드 편집기를 포함한 뛰어난 툴링 지원을 제공합니다.

 

8. 커뮤니티 및 라이브러리 ( Community and Libraries ): 타입스크립트는 성장하고 활성화된 커뮤니티를 가지고 있으며, 많은 인기 자바스크립트 라이브러리 및 프레임워크 ( React, Angular )는 타입스크립트를 지원합니다.

 

9. 호환성 ( Compatibility ): 타입스크립트는 자바스크립트의 상위 집합으로 설계되어 유효한 자바스크립트 코드도 유효한 타입스크립트 코드임을 의미하며, 기존의 자바스크립트 프로젝트에서 타입스크립트를 점진적으로 채택할 수 있습니다.

 

10. 강력한 유형 ( Strongly Typed ): 타입스크립트는 컴파일 시에 유형 안전성을 강제하므로 더 강력하고 유지 관리 가능한 코드를 제공할 수 있습니다. 그러나 유형을 명시적으로 정의해야 하므로 초기 오버헤드가 추가될 수 있습니다.

 

타입스크립트는 현대의 웹 개발에서 일반적으로 사용되며, 특히 Type의 안전성, 툴링, 유지보수성이 중요한 대규모 프로젝트에 사용되며, 개발자들이 개발과정 초기에 오류를 발견하고, 보다 예측 가능한 코드를 작성하며, 웹 어플리케이션의 전반적인 품질을 향상시킬 수 있도록 도와줍니다.

 

 

타입스크립트를 간단하게 정리해보면, 타입스크립트는 자바스크립트 기반의 언어이며, 자바스크립트의 상위확장버전입니다.

정적타입으로 컴파일 단계에서 오류를 포착할 수 있는 장점이 있으며, 강력한 객체지향 프로그래밍을 지원합니다. ES6의 새로운 기능들을 사용하기 위해 바벨과 같은 변도 트랜스파일러를 사용하지 않아도 ES6의 새로운 기능을 기존의 자바스크립트 엔진에서 실행 가능합니다.

명시적인 정적 타입 지정은 코드의 가독성을 높이고 디버깅을 쉽게 해줍니다.

반응형

+ Recent posts