Typescript - function type Alias, 문자열 숫자로 변환, 지정 문자 제거

김명성·2022년 3월 18일
0

typescript

목록 보기
4/8

function type Alias.
parameter 자리에 어떤 type이 들어오는지 정의, Arrow 옆에 return할 타입을 정의
type myFuncType = (a:string|number) => number;

const myFunc:myFuncType = () => {return 10}

object 안의 함수 타입지정

type InfoType = {
  name: string;
  age: number;
  plusOne: (x:number) => number;
  changeName: () => void;
}
let userInfo:InfoType = {
  name : 'kim',
  age : 30,
  plusOne (x:number):number{
    return x + 1
  },
  changeName : ():void => {
    console.log('안녕')
  }
}

//문자열이 인자로 주어졌을 때, 첫 문자열에 '0'이 있으면 제거하고, 다시 문자열로 return.

type cutZerotype = (stringChunk:string) => string;

const cutZero:cutZerotype = (stringChunk) => {
  const convertStringChunkToArray = stringChunk.split('');
  let convertString = '';
  if(convertStringChunkToArray[0] === '0'){
   convertString = convertStringChunkToArray.slice(1).join('')
  }
  console.log(convertString)
  return convertString;
}

cutZero('01022744334');

//문자열이 인자로 주어졌을 때, 문자열 사이에 '-'가 있으면 제거하고, 숫자로 return.

type removeDashType = (stringChunk:string) => number; 


const removeDash:removeDashType = (stringChunk) =>{
  // const dashNumber:number = stringChunk.indexOf('-');
  // console.log(stringChunk.slice(dashNumber,dashNumber+1));
  const convertNumber = parseInt(stringChunk.split('-').join(''));
  console.log(convertNumber);
  return convertNumber;
}
removeDash('10-71-34-07-8-34-354-65')

// 1번째 인자에 들어오는 문자열을 앞서 만든 함수로 처리하여 그 결과를 콘솔창에 출력해줍니다.
// ex) myFunc('010-1111-2222', cutZero, removeDash) // output 1011112222

type removeZeroAndDashType =(stringChunk: string,cb1: Function,cb2:Function) => void;
  

const removeZeroAndDash:removeZeroAndDashType = (stringChunk,cb1,cb2) =>{
  
  const firstConvert = cb1(stringChunk)
  const secondConvert =cb2(firstConvert)
  console.log(secondConvert);
}
removeZeroAndDash('021321-34523-4444',cutZero,removeDash)

0개의 댓글