View

TypeScript란?

JavaScript로 컴파일되는 JavaScript에 타입을 부여한 프로그래밍 언어로 JavaScript 애플리케이션을 개발할 때 정적 타입 검사 및 코드 리팩토링과 같은 생산성 높은 개발을 수행할 수 있음.

 

Why TypeScript?

  1. 에러의 사전 방지
  2. 코드 자동 완성과 가이드

 

읽기 전용(readonly)

읽기 전용 프로퍼티로 객체 생성시 할당된 프로퍼티의 값의 중간 변경이 불가능함

type Player = {
	readonly name : Name
    age?: Age
}

const playerMaker = (name:string) : Player => ({name})
const nico = playerMaker("nico")
nico.age = 12
nico.name = "james" // Error!

 

타입

Tuple 타입

array를 생성할 수 있게 하는데 JavaScript에서는 지원하지 않는 데이터 타입임

  • 최소한의 길이를 가져야 하고 
  • 특정 위치에 특정 타입이 있어야함
const player : readonly [string, number, boolean] = ["nico", 1, true];
player[0] = "hi"

 

any 타입

any는 TypeScript로부터 빠져나오고 싶을 때 쓰는 타입으로 Typescript의 모든 보호장치를 비활성화시킴

const a : any[] = [1, 2, 3, 4]
const b : any = true

a + b // Error 발생하지 않음

 

unknown 타입

변수의 타입을 미리 알지 못할 때 사용함. any와 마찬가지로 모든 타입의 값이 할당될 수 있음

하지만 any타입을 제외한 다른 타입으로 선언한 변수에 할당할 수는 없음.

let a : unknown;

if(typeof a === 'number')[
	let b = a + 1
}

if(typeof === "string"){
	let b = a.toUpperCase();
}
타입검사 없이 a.toUpperCase();를 하면 Error 발생함

unknown 타입으로 변수를 정의하면 타입 검사를 해줘야 문제없이 동작함

 

728x90
Share Link
reply
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31