타입스크립트의 타입#1

유재헌·2023년 1월 30일
0

Typescript

목록 보기
2/8

Typescript의 type

TypeDescription
booleantrue 와 false
null값이 없음을 명시
undefined값을 할당하지 않은 변수의 초기값
number숫자(정수와 실수, Infinity, NaN)
string문자열
symbol고유하고 수정 불가능한 데이터 타입이며 주로 객체 프로퍼티들의 식별자로 사용(ES6에서 추가)
object객체형(참조형)
array배열
tuple고정된 요소수만큼의 타입을 미리 선언 후 배열을 표현
enum열거형. 숫자값 집합에 이름을 지정한 것이다.
any타입 추론(type inference)할 수 없거나 타입 체크가 필요없는 변수에 사용. var 키워드로 선언한 변수와 같이 어떤 타입의 값이라도 할당 가능.
void일반적으로 함수에서 반환값이 없을 경우 사용한다.
never결코 발생하지 않는 값
const player : {
  name: string,
  age: number
} = {
  name: "jaehun",
}

이 경우 player.name과 age의 type을 말해줬지만 정작 age의 값을 적지 않아서 error가 발생한다. 이럴 땐

const player : {
  name: string,
  age?: number
} = {
  name: "jaehun"
}

이렇게 age 다음에 ?: 를 붙여주어 age의 type이 number이거나 undefined이 될 수 있게 해준다.


하지만 이 때

if(player.age < 10) {
}

처럼 player.age를 불러오려 하면 age가 undefined일 수도 있기 때문에 error가 표시된다. 때문에

if(player.age && player.age < 10) {
}

처럼 작성해 player.age가 존재하는지 확인을 거치게 만들어줄 수 있다.


### Alias(별칭) type

player가 여러명인 경우 alias type으로 코드의 양을 줄여준다.

type Player = {
  name: string,
  age?: number
}

const player1 : Player = {
  name: "jaehun"
}

const player2 : Player = {
  name: "messi"
}

또, age의 타입에 대한 다른 Alias를 만들 수도 있다.(예시일 뿐 굳이 이렇게까지 재사용할 필요는 없다.)

type Age = number;
type Name = string;

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

const player1 : Player = {
  name: "jaehun"
}

const player2 : Player = {
  name: "messi"
}

### 함수에서의 활용
type Age = number;
type Name = string;

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

function playerMaker(name: string) : Player {
  //argument의 type 지정
  return {
    name: name
    //return값의 type 지정
}
  
const jaehun = playerMaker("jaehun")
jaehun.age = 26

위의 내용을 arrow function으로 나타내면

const playerMaker = (name: string) : Player => ({name})
profile
possibilities

0개의 댓글