• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 JavaScript, TS 게시판 TS '함수와 methods에 type alias 지정하는 법' 과제 질문입니다.

TS '함수와 methods에 type alias 지정하는 법' 과제 질문입니다.

3 글 보임 - 1 에서 3 까지 (총 3 중에서)
  • 글쓴이
  • #52198

    이한결
    참가자
    안녕하세요.
    
    타입스크립트 '함수와 methods에 type alias 지정하는 법' 강의를 듣고,
    마지막 과제를 응용하다가 질문이 생겨 올립니다.
    
    밑에 코드의 기능을 간략하게 설명하자면 이렇습니다. 
    1. 여자친구이물질제거 함수는 문자에 있는 숫자들을 제거해줍니다. 
    2. 여자친구광내기 함수는 문자에 있는 "-" 를 제거해줍니다. 
    3. 여자친구탄생 함수는 최종적으로 문자만 콘솔에 보여줍니다.
    
    function 여자친구이물질제거(x: string | number): string {
      let arr = [];
      if (typeof x === "string") {
        arr.push(...x);
      }
      let result = arr.filter((a) => isNaN(a));
      return result.join("");
    }
    function 여자친구광내기(x: string): string {
      let arr = [...x];
      let reuslut = arr.filter((a) => a !== "-");
      return reuslut.join("");
    }
    type WashMyGirl= (
      number: string,
      여자친구이물질제거: (x: string) => string,
      여자친구광내기: (x: string) => string
    ) => void;
    let 여자친구탄생: WashMyGirl= function (
      girlfriend,
      여자친구이물질제거,
      여자친구광내기
    ) {
      let num = 여자친구이물질제거(girlfriend);
      let reuslut = 여자친구광내기(num);
      console.log(reuslut);
    };
    여자친구탄생("0아4-야56-카-1-", 여자친구이물질제거, 여자친구광내기);
    
    
    위의 코드를 실행하면 "아야카" 라는 여자친구가 콘솔창에 탄생하게 됩니다.
    그런데 type WashMyGirl에 여자친구이물질제거 함수 return 타입을 string | void 라고 했을 경우, 
     여자친구이물질제거(girlfriend) 여기 girlfriend에 타입 오류가 생깁니다.
    그렇지만 밑에 여자친구광내기 함수 return 타입에 string | void 라고 했을 경우 아무 오류가 생기지 않습니다.
    분명 return 값이 존재하고, void or string인데, 왜 파라미터 num에 'void' 형식은 'string' 형식에 할당할 수 없습니다."
    라고 뜨는건가요?
    #52237

    codingapple
    키 마스터
    문자데이터 다룰 땐 filter말고 replace 이런거 쓰면 편할걸요 
    
    파라미터 num에 'void' 형식은 'string' 형식에 할당할 수 없습니다." 는 
    만약 void가 return 되는 상황이면 그걸 변수에 저장하거나 그럴 수 없어서 그런 상황을 미리 방지해주는듯요
    #52316

    이한결
    참가자
    오오 감사합니다!
    
    파라미터가 girlfriend 인데 num이라고 잘못썼군요…
    
    
    
3 글 보임 - 1 에서 3 까지 (총 3 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠