타입 스크립트가 뭐임?

Jean·2025년 3월 1일

NestJS를 쓰기 앞서 우리의 고양이 네스트가 타입스크립트 기반이라는 사실을 아시나요?

타입 스크립트가 뭐길래 사람들이 많이 쓸까요??

-가장 많이 사용되는 프로그래밍 언어 2024-

-개발자 모집 공고-


타입스크립트는 자바스크립트를 기반으로 하고있습니다
새롭게 뿅 태어난건 아니라는 뜻이지요

그렇다면 왜 타입스크립트를 만들었을까요?

자바스크립트는 자유로운 영혼

자유분방한 타입

  • 자바스크립트는 let, const와 같이 변수인지 상수인지에 대한 키워드만 존재
  • 숫자를 넣으려고 만든 변수에 문자열이 들어가도 쿨하게 넘어가줍니다
let 숫자만 = 1
.
.
숫자만 = '히히 문자도 넣어야지' //ok! 문자열! 넣어드립니다!

실수도 받아주는 너그러운? 마음

  • 자바스크립트는 변수의 타입이 실행 시간에 결정됩니다 (인터프리터 언어)
  • 변수에 잘못된 타입의 값이 할당되어 발생한 오류를 찾기 위해서는 실행을 시켜봐야한다...
const 유저 = { 이름: "김ㅇㅇ", 나이: 30 };
console.log(유저.이르으음); // 실행 전까지 오타 난 거 모름

함수? 리턴? 뭐 있는지 안 알랴줌

  • 객체 및 함수의 구조의 예측이 어렵다
  • 함수의 매개변수와 반환값 타입을 미리 알 수 없음
function add(a, b) {
  return a + b;
}
console.log(add(5, "5")); // 결과: "55" <-이것 뭐에요?

타입 스크립트 등장

위의 단점들을 해소하기 위해 Microsoft께서 타입스크립트를 발표하시고..
자바스크립트의 단점들을 상당부분 해소해주시니..

1. 정적 타입 검사 (Type Safety) 제공

let 숫자만: number = 1
.
.
숫자만 = '히히 문자도 넣어야지' //❌ 오류 //어? 너? 뭐하는?

2. 컴파일 시 오류 감지 → 실행 전에 버그 방지

const 유저 = { 이름: "김ㅇㅇ", 나이: 30 };
console.log(유저.이르으음);  // ❌ 오류 //오타가 난 것 같은디

3. 함수 타입을 지정

function add(a: number, b: number): number {
  return a + b;
}
console.log(add(5, "5")); // ❌ 타입 오류 //숫자만 넣으시라구요

4. 유지보수 용이 → 협업에 적합

  • 자바스크립트는 문서화가 부족하면 코드를 이해하기 어려움
  • 타입스크립트는 인터페이스, 제네릭, 타입 정의 기능을 제공하여 유지보수에 유리
interface User { //User는 밑의 타입으로 고정!
  name: string;
  age: number;
}
const user: User = { name: "Alice", age: 30 };

또한 안정성과 가독성이 높아져 개발 및 유지 보수 과정에서 시간과 노력을 절약할 수 있고 정적 타입 시스템, 객체 지향 프로그래밍 등 다양한 개념도 찍먹 해볼 수 있어요!!!

다들 찍어먹어보세요 츄라이 츄라이

profile
햇내기 개발자 지망생

0개의 댓글