[TypeScript] TypeScript란?
안녕하세요. Kim.YJ 입니다.
이번 포스팅은 마이크로소프트가 개발한 오픈소스 프로그래밍 언어로,
타입스크립트(TypeScript)에 대해 알아보겠습니다.
[ TypeScript 란? ]
타입스크립트(TypeScript)는 마이크로소프트가 개발한 오픈소스 프로그래밍 언어로, 자바스크립트의 상위 집합(Superset)입니다.
자바스크립트의 모든 기능을 포함하며, 여기에 정적 타입 검사와 같은 기능을 추가하여 대규모 애플리케이션 개발을 더 안전하고 효율적으로 만들어줍니다.
타입스크립트는 .ts 확장자를 사용하며, 자바스크립트로 컴파일되어 브라우저와 호환됩니다.
[ TypeScrip의 주요 특징 ]
TypeScrip는 다음과 같은 특징이 있습니다.
1. 정적 타입 시스템
- 변수와 함수에 타입을 명시할 수 있어, 컴파일 시점에 오류를 미리 확인할 수 있습니다.
let age: number = 30; // 정수형 변수
let name: string = "Kim"; // 문자열 변수
2. 타입 추론
- 타입스크립트는 코드에서 타입을 추론하여 명시적으로 선언하지 않아도 타입을 자동으로 결정합니다.
let count = 10; // number로 추론
3. 인터페이스와 타입
- 객체의 구조를 정의하고 코드의 일관성을 유지합니다.
interface Person {
name: string;
age: number;
}
const kim: Person = { name: "Kim", age: 36 };
4. 클래스와 객체지향 프로그래밍 지원
- ES6+의 클래스 문법을 확장하며, 추상 클래스, 인터페이스, 접근 제한자(private, protected 등)를 지원합니다.
class Animal {
private name: string;
constructor(name: string) {
this.name = name;
}
move(distance: number): void {
console.log(`${this.name} moved ${distance}m.`);
}
}
5. 강력한 도구 지원
- Visual Studio Code 같은 에디터와 잘 통합되어 코드 자동완성, 오류 검사, 리팩토링 기능을 제공합니다.
6. 모듈화 및 ES6+ 기능 지원
- 최신 자바스크립트 기능을 사용할 수 있으며, 모듈 시스템(import/export)을 지원합니다.
[ 타입스크립트를 사용하는 이유 ]
1. 코드 품질 향상
- 정적 타입 체크로 인해 런타임 오류가 줄어듭니다.
2. 대규모 프로젝트 관리
- 코드 가독성과 유지보수성이 높아집니다.
3. 강력한 개발 도구 통합
- IDE 지원으로 생산성이 향상됩니다.
4. 점진적 도입 가능
- 기존 자바스크립트 프로젝트에 타입스크립트를 부분적으로 도입할 수 있습니다.
[ 타입스크립트 시작하기 ]
1. 설치
npm install -g typescript
2. 컴파일러 사용
tsc filename.ts
3. tsconfig.json 설정
{
"compilerOptions": {
"target": "ES6",
"module": "commonjs",
"strict": true
}
}
[ 간단한 예제 ]
function greet(user: { name: string; age: number }): string {
return `안녕하세요, ${user.name} 입니다. 저의 나이는 ${user.age} 입니다.`;
}
const user = { name: "Youngjae", age: 36 };
console.log(greet(user)); // 안녕하세요, Kim.YJ 입니다. 저의 나이는 36 입니다.
지금까지 TypeScript에 대해 포스팅을 하였습니다.
도움이 되는 포스팅이었길 바랍니다.
감사합니다!