Photo by Bailey Gullo on Unsplash
type Name = string;
type Age = number;
type Player = {
readonly name:Name,
age?:Age
}
const playerMaker = (name:string) : Player => ({name})
const bob = playerMaker("bob")
bob.age = 7
bob.name = "star"
Plyaer의 name을 수정하려고 시도하면 TypeScript에서 에러발생해서 막음
배열에 readonly를 붙였을때
const numbers: readonly number[] = [1,2,3,4]
numbers.push(1) //error
const names: readonly string[] = ["1", "2"]
names.push() //error
map
, filter
와 같은 메소드들은 배열을 변경하지 않으므로 사용가능이러한 배열을
//이름,나이,챔피언인지아닌지
["bob",7,true]
타입스크립트로 표현해보기
const plyaer: [string, number, boolean] = []
const player: [string,number,boolean] = ["bob",7,true]
player[0]= 1
const player: readonly[string, number, boolean] = ["bob",7,true]
player[0] = "hi"
JavaScript는 튜플이 없어서 이렇게 보임
TypeScript는 실제 프로덕션 환경으로 푸쉬하기 전에 오류확인이 가능
let a: undefined = undefined;
let b: null = null;
type Player = {
age?:number
}
비어있는 값들을 쓰면 기본값이 any
let a = []
//let a: any[]
그럼에도 불구하고 사용할 필요가 있음
const a : any[] = [1,2,3,4]
const b : any = true
a + b
-> 가능함 -> any 타입이기 때문
타입스크립트의 보호장치를 모두 비활성
하지만 필요 할때가 있음
const a : = [1,2,3,4]
const b : = true
a + b
->오류
배운것들