View
[Typescript] Typescript로 블록체인 만들기 #2 OVERVIEW OF TYPESCRIPT
산누 2023. 6. 27. 09:11TypeScript란?
JavaScript로 컴파일되는 JavaScript에 타입을 부여한 프로그래밍 언어로 JavaScript 애플리케이션을 개발할 때 정적 타입 검사 및 코드 리팩토링과 같은 생산성 높은 개발을 수행할 수 있음.
Why TypeScript?
- 에러의 사전 방지
- 코드 자동 완성과 가이드
읽기 전용(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
'Frontend > Typescript' 카테고리의 다른 글
[Typescript] Typescript로 블록체인 만들기 #4 CLASSES AND INTERFACES (1) | 2023.07.03 |
---|---|
[Typescript] Typescript로 블록체인 만들기 #3 FUNCTIONS 과제 답안 (0) | 2023.06.30 |
[Typescript] Typescript로 블록체인 만들기 #3 FUNCTIONS (0) | 2023.06.29 |
reply