본문 바로가기

Front-End/TypeScript

TypeScript 기초 #1 (typescript 개요)

반응형

 

- JavaScript의 상위 집합(Superset)

- 정적 타입을 지원하고 (static), 객체지향 기능을 강화한 언어 (OOPL)

// JavaScript
let message = "hello";
// TypeScript
let message: string = "hello";

 

 

 

※ 변수 선언 시 ':(콜론) + dtype(데이터 타입)' 을 적어 융통성 있는 js보다 좀 더 엄격하고 확실하게 프로그래밍이 가능.

- dtype : number(숫자), string(문자열), boolean(참/거짓), object(객체, 보통은 키:값의 딕셔너리 구조 {})

 

 

 

- 정적 타입 시스템

  • 컴파일 단계(실행 전에 이루어짐)에서 오류 발견 가능 (js는 실행할 때 오류 발견)
  • 런타임 버그 감소
  • IDE(vscode 등)에서 자동완성, 타입추론 등 도구 지원 강화
let age: number = 25;
age = "스물다섯"; // 오류 발생 (타입 불일치)

 

 

- 유지 보수성 & 확장성 향상

  • 코드 리팩토링 시 타입 기반 영향도 파악 가능
  • 다수 개발자가 협업할 때 계약 기반 개발 가능

 

 

 

 

- 객체 지향 프로그래밍 (OOP)

  • Java, C# 사용자에게 익숙한 방식
class Animal {
  name: string;

  constructor(name: string) {
    this.name = name;
  }

  speak() {
    console.log(`${this.name} says hello`);
  }
}

const dog = new Animal("Buddy");
dog.speak();

 

 

 

주요 개념 지원

  • 클래스(class)
  • 상속(inheritance)
  • 추상 클래스(abstract class)
  • 인터페이스(interface)
  • 접근 제어자(public, private, protected)

 

타입스크립트 개발 도구 통합

  • VS Code 완벽 지원
  • IntelliSense, 타입 오류 실시간 체크
  • ESLint + Prettier와 함께 정적 분석 가능
  • Webpack, Babel, tsconfig로 프로젝트 설정 유연

 

 

 

 

요약

 

 

 

 

 

 

반응형