[TIL #39] JavaScript와 다른 TypeScript의 특징

Bora.K | 권보라·2023년 12월 13일
1

TIL

목록 보기
39/51
post-thumbnail

오늘 한 일


  • [TypeScript] 문법 종합반 강의

학습 내용


TypeScrip란?

TypeScript는 Microsoft에서 개발한 오픈 소스 프로그래밍 언어로, JavaScript의 단점을 보완하기 위해 생겨났다. TypeScript는 정적 타이핑 및 기타 기능을 언어에 추가하여 JavaScript에 비해 테스트 코드보다 비지니스 로직 작성에 집중할 수 있게 해준다.

1. 정적 타이핑

TypeScript에는 정적 타이핑이 도입되어 변수의 유형, 함수 매개변수 및 반환 유형을 선언할 수 있다. 이는 런타임(실행 시간)이 아닌 컴파일 시간에 변수의 타입을 체크하여 관련 오류를 잡는 데 도움이 된다.

2. 인터페이스

TypeScript의 인터페이스는 객체의 특정 모양을 적용하고 더 나은 코드 구성을 돕는 데 사용할 수 있다.

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

function greet(person: Person): string {
  return `Hello, ${person.name}!`;
}

3. tuple

튜플은 각 요소가 특정 유형을 가질 수 있는 정렬된 배열과 같은 구조로, 쉽게 말해서 서로 다른 타입의 원소를 순서에 맞게 가질 수 있는 특수한 형태의 배열이다. 일반 배열과 달리 튜플의 요소 유형은 동일할 필요가 없다.

let myTuple: [string, number, boolean];
myTuple = ["Hello", 42, true];

위의 예에서 myTuple은 인덱스 0에 string, 인덱스 1에 number, 인덱스 2에 boolean이 있어야 하는 튜플로 선언된다.

4. enum

enum은 열거형 데이터 타입이라고도 하며, 다양한 상수를 보다 더 이해하기 쉬운 문자열 이름으로 접근하고 사용할 수 있게 하는 타입이다. 쉽게 말하면 숫자 값에 의미 있는 이름을 지정하여 유지, 관리가 쉽게 한다.

  • enum 안에 있는 각 요소는 값이 설정되어 있지 않으면 기본적으로 숫자 0으로 시작한다.
  • enum 안에 있는 요소에는 number 혹은 string타입의 값만을 할당할 수 있다.
enum Direction {
  Up,
  Down,
  Left,
  Right
}

let myDirection: Direction = Direction.Up;
console.log(myDirection);   // 0
  • 열거형 멤버에 특정 숫자 값 할당 가능
enum HttpStatus {
  OK = 200,
  NotFound = 404,
  ServerError = 500
}

let status: HttpStatus = HttpStatus.NotFound;
console.log(status);   // 404

오늘의 회고


TypeScript 강의가 시작되었다. JavaScript와는 또 다른 사용법에 헷갈린다. 새로운 개념이 많아서 익숙해지는데 시간이 좀 걸릴 것 같다. 개인 과제도 해야하지만, 우선 강의부터 먼저 다 듣기로 했다. 어쨌든 JavaScript의 단점을 보완하며 생겨난 개념이라고 하니, 익숙해지면 좀 더 편해지겠지?


profile
Frontend Engineers

0개의 댓글