[TIL] TypeScript 기초개념2

이나현·2021년 9월 13일
0

Typescript

목록 보기
2/3
post-thumbnail

1. Literal Types

특정 글자나 숫자만 가질 수 있게 제한을 두는 타입: literal type

1-1) Literal Type 만드는 법

let john: "대머리";
let 나현: "여자";
  • or 기호 사용 가능
let 방향: 'left'| 'right';
방향 = 'left'
  • 함수도 동일
function 함수( a: "가위" |"바위"|"보") : ("가위"| "바위"|"보")[]{
	return ["가위", "보"]
}

변하지 않는 정보를 저장하고 싶을 때 const를 많이 쓰는데 변하는 정보를 저장하고 싶을 때에는 const가 무쓸모가 된다. 이 때, 타입스크립트를 사용하면 된다!

2. 함수와 메소드에 type alias 지정

2-1) function에 type 저장

type numOut = (x: number , y: number)=> number;
let ABC = function(x,y) {
	return x*y
}

function에 type을 지정하고 싶으면 무조건 arrow function 사용!
(function 함수이름: numOut(){} 이런 식 불가능)

2-2) methods 안에 type 지정

type Member = {
    name: string,
    age: number,
    plusOne: (x: number) => number,
    changeName: () => void
}
let 회원정보 = {
    name: 'kim',
    age: 13,
    plusOne(x){
      return x + 1;
    }
    changeName: ()=> {
      console.log("안녕") 
    }
}

문제1

cutZero()라는 함수를 만듭시다. 이 함수는 문자를 하나 입력하면 맨 앞에 '0' 문자가 있으면 제거하고 문자 type으로 return 해줍니다.

type cutZeroType = (x: string) => string;
let cutZero : cutZeroType = function(x) => {
	if(x.[0] === 0) {
    return x.split(0)
    }
}

문제2

removeDash()라는 함수를 만듭시다. 이 함수는 문자를 하나 입력하면 대시기호 '-' 가 있으면 전부 제거해주고 그걸 숫자 type으로 return 해줍니다.

type removeDashType = () => number;
let removeDash : removeDashType = (x) =>{
  let result =  x.replace(/\-/g,'');
  return parseFloat(result);
}
profile
technology blog

0개의 댓글