[ TypeScript ] 타입스크립트란? 기본 타입의 종류

·2023년 10월 24일

타입스크립트

타입스크립트의 장점

  1. 높은 수준의 코드 탐색과 디버깅 : 사전에 에러를 발생시켜 버그 제거
  2. 자바스크립트와의 호환
  3. 강력한 생태계 (대부분의 라이브러리 TS 지원 및 VSCode)
  4. 점진적 전환: 특정 기능에만 TS 도입 가능
  5. 유지보수의 용이성과 개발의 편리성 (VSCode의 자동완성, 협업에 유리)

타입스크립트 시작하기

  1. 타입스크립트 파일 생성 (index.js)
function sum(a:number, b:number): number{
	return a + b;
    }
    console.log(sum(10,20))
  1. NPM 설정 파일 생성 및 타입스크립트 설치하기
    npm init -y
    npm install typescript -D

  2. 타입스크립트 컴파일 명령어 실행하기
    npx tsc index.ts

변수에 타입 지정 방법

변수 뒤에 : 를 붙이고 그 뒤에 타입 이름 을 추가

기본 타입

string

자바스크립트의 문자열을 의미하는 타입
const name : string = 'hyein';

number

특정 변수가 숫자만 취급된다면 사용하는 타입
let age: number = 25;

boolean

진위값만 취급하는 변수
let isLogin: boolean = false;

object

객체 유형의 데이터 취급 시 사용
const hero: object = {name: 'captain', age:100};

Array

제네릭 타입
let cards : Array<number> = [1,2,3,4];
배열의 요소를 나타내는 타입 뒤에 [] 사용
let cards:number[] = [1,2,3,4];

tuple

요소의 타입과 개수가 고정된 배열
let item: [string, number] = ['hi', 1];

any

아무 데이터나 취급하겠다는 의미, 알지 못하는 타입 표현에 사용

null과 undefined

모든 타입의 하위 타입, 자신의 타입이름임

Enum

특정 값의 집합(상수)를 의미하는 타입, enum0부터 시작함

enum Color (Red = 1, Green, Blue);
const colorName : string = Color[2];
console.log(colorName) //Green

void

결과 값을 반환하지 않는 함수에 설정, return 값이 없거나, 있음에도 반환값이 없는 경우

function warn():void {
  console.log('this is warning!);
              }         

Never

함수의 끝까지 절대 도달할 수 없는 함수의 타입
어떠한 값도 가질 수 없는 함수도 포함됨 따라서, any , null, undefined 등 모두 할당 불가

function isWillNotFinish():never{
 while(true){
   ~~
 	}
 }

function throwError():never{
throw new Error(~)
}

profile
new blog: https://hae0-02ni.tistory.com/

4개의 댓글

comment-user-thumbnail
2023년 10월 25일

글이 귀엽고 고양이가 유익해요

답글 달기
comment-user-thumbnail
2023년 10월 25일

항상 React로만 프로젝트를 시작해왔어서, only typescript 만으로 개발 환경 세팅 하는 과정을 유의깊게 봤던 거 같습니다.
또한, 다른 언어들과 비교했을때 Type에서 조금 더 ts만의 특징이 잘 나타내어 지는거 같아, 그 부분도 흥미로웠던 거 같아요 !

그리고, 저번 강의때 enum에 대해서 많이 사용해본 적이 없어서 어색하시다는 말에 저도 enum에 대해서 열심히 찾아보았는데요 !! 그러다가 흥미로운 사실을 발견한게, 대부분의 사람들의 enum을 사용하지 말라! 라는 내용을 작성해두었더라고요. 함께 보면 좋을 거 같아 한 블로그를 공유합니다 !
https://velog.io/@sensecodevalue/Typescript-Enum-%EC%99%9C-%EC%93%B0%EC%A7%80-%EB%A7%90%EC%95%84%EC%95%BC%ED%95%98%EC%A3%A0

좋은 아티클 내용 감사합니다 ! 앞으로도 꾸준히 챙겨볼게요 !🔥

답글 달기
comment-user-thumbnail
2023년 10월 25일

react같은 프레임워크 위에서 typescript를 사용할 땐 자바스크립트 코드로 변환되어 실행한다는게 모호했는데 직접 js로 변환해보니 ts의 컴파일 과정을 직관적으로 볼 수 있어 유익했습니다!! 직접 해보니 typescipt 컴파일러나 바벨 같은 컴파일러들에 대해 공부해보고 싶어졌어요ㅎㅎ 시험끝나고 꼭..!!

답글 달기
comment-user-thumbnail
2023년 10월 25일

never 타입 ! 을 처음 본 듯 하여 .. 이게 대체 무엇인가 하고 찾아보았는데 숫자 체계의 불가능을 0으로 나타내듯 문자 체계에도 불가능을 나타내는 타입 never라고 하네요!

  • never 타입이 빈 타입이라는 것을 활용해 기능 제약 수행
  • 원하지 않는 유니언 타입의 멤버 및 객체 타입의 속성 필터링
  • 제어 흐름 분석 지원
  • 유효하지 않거나 도달할 수 없는 분기 표시
    와 같은 경우에 사용한다고 하는데 이 중에서도 에러를 발생시킬 때 가장 많이 쓰이는 듯 합니당! 아직은 완벽하게 와닿지 않지만 타스를 더 진행하다보면 더 잘 이해할 수 있으리라 믿으며 ,, 참고 링크 첨부해둡니당 ! 🥹
    https://ui.toast.com/posts/ko_20220323
답글 달기