[TypeScript]함수와 methods에 type alias 지정하는 법

만분의 일·2022년 8월 24일
0

TypeScript

목록 보기
7/7
post-thumbnail

함수 타입도 아래와 같이 type alias(타입별칭)로 저장해서 쓸 수 있다.

  1. 함수 타입 지정은 ( ) ⇒ { } 문법에 맞게 해줘야한다.
  2. 함수에 type alias를 지정하려면 함수 선언식을 사용해야한다.

// tip
() => {return 10} 
() => 10과 같다. 

type 함수타입=(a:string)=> number; // 파라미터 타입을 string으로 지정 (string 타입의 자료를 넣음)
																	// return의 타입 값을 number로 지정(number 타입을 배출)
																	
let 함수 :함수타입 = function (){   // **함수 표현식**에만 type alias 사용 가능 
	return 10
}


객체 안의 함수에도 타입 지정을 해줄 수 있다.

object 안에는 함수, 화살표 함수를 넣을 수 있다.

넣는 이유는 함수도 자료 안에 보관해서 쓰고 싶을 때가 있기 때문!

type Member={
  name:string,
  age:number,
  plusOne:(x:number)=>number,
  changeName:void,
  
}

let 회원정보:Member ={
	name:"kim",
	age:"20",
	plusOne(a){
		return a + 1;
	},
changeName:()=>{
		console.log('안녕')
	}
}

회원정보.plusOne() // 객체 안의 함수 plusOne의 코드가 실행된다.



Quiz.1

다음 함수2개를 만들어보고 타입까지 정의해보세요

  • cutZero()라는 함수를 만듭시다. 이 함수는 문자를 하나 입력하면 맨 앞에 '0' 문자가 있으면 제거하고 문자 type으로 return 해줍니다.
  • removeDash()라는 함수를 만듭시다. 이 함수는 문자를 하나 입력하면 대시기호 '-' 가 있으면 전부 제거해주고 그걸 숫자 type으로 return 해줍니다.
  • 함수에 타입 지정시 type alias를 꼭 써보세요.

💻First try

type Func1Type=(a:string[])=>string;

let cutZero:Func1Type = function (a) {
  if(a[0]==="0"){
   return a.shift();
  }
}

type Func2Type=(b:string[])=>number;

let removeDash:Func2Type = function(b) {
  if (b.push()&b.includes("-")){
      return b.length=0;
      }
  
}

💻 Second try

type CutType=(a:string)=>string;
type RemoveType = (b:string) => number;

let cutZero:CutType= function(a) {
  let findZero= a.replace(/^0/,"");
  return findZero
}

let removeDash:RemoveType = function(b) {
  let findDash= b.replace(/"-"g/, "");
  return findDash
}
cutZero(0102323);

📌Answer

type CutType = (x :string) => string

let cutZero :CutType = function (x){
    let result = x.replace(/^0+/, "");
    return result
}
function removeDash(x :string) :number{
    let result = x.replace(/-/g, "");
    return parseFloat(result)
}

💡 **정규 표현식
/…/ : js에서 정규식을 묶어주는 표현 방식
^ : 시작표시 (매칭이 처음부터 되어야 한다)

  • : 1번 이상 반복
    g : 글로벌의 뜻. 전역 매칭을 한다. 처음부터가 아닌 전체에서 정규식이 맞는걸 찾는다.
    i : case Insensitive, 대소문자 구별 안함**

참고 사이트

💡 replace 메서드
replace(”찾을 문자열”, “변경할 문자열”)

💡 parseFloat
텍스트를 소수점 표현이 가능한 실수로 변환하는 함수



What I learned?

✅ 함수와 객체안의 함수에 type alias(타입별칭)을 사용하는 방법을 알게 되었습니다.

✅ replace 메서드에 대해서 더 익숙해질 수 있었습니다.


내용 중 잘못된 부분이 있다면 댓글로 알려주신다면 감사하겠습니다!😊

profile
1/10000이 1이 될 때 까지

0개의 댓글