타입스크립트 함수는 어떨까

Jaejun Kim·2023년 1월 10일
0

타입스크립트

목록 보기
3/9

// 파라미터에 타입주기
function playerMaker(name: string) {
  return {
    name
  }
}

const me = playerMaker("jaejun")
me.name = 'jaemin' // 재할당 가능
me.age = 10 // 요소 추가 불가능. 아니 나이 좀 넣고 싶을수도 있지!!

// 왜 안되냐면 return 하는 객체가 타입추론으로 만들어졌기 때문.
// 마치 아래 경우와 같음

let examplePlayer = { name: "jaejun" }
examplePlayer.age = 10
// 똑같은 상황. 미리 age에 대해 언질을 해주지 않으면 TS는 이를 잘못된 코드로 인식함


// 방법은? return type을 Alias type으로 미리 정해주기!
type PlayerMake = {
  name: string,
  age?: number
}

function playerMaker2(name: string): PlayerMake {
  return { name }
}

const me2 = playerMaker2("jaejun")
me2.age = 10 // 쌉가능

// 화살표함수의 경우
const playerMaker_arrow = (name: string): PlayerMake => {
  return { name }
}

배움출처: https://nomadcoders.co/typescript-for-beginners/lobby

0개의 댓글