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

home2 게시판 JavaScript, TS 게시판 타입 확정하기 숙제1번 클리닝함수 질문인데요!!

타입 확정하기 숙제1번 클리닝함수 질문인데요!!

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

    bolo
    참가자
    function cleanArr(arr: (string | number)[]): number[] {
    return arr.map((num) => (typeof num === "string" ? parseFloat(num) : num));
    }
    위 코드는 정상작동하는데,
    function cleanArr2(arr: (string | number)[]): number[] {
    return arr.map((num) => num as number);
    }
    as number를 이용한 아래의 코드는 문자열이 그대로 출력됩니다 왜그러나용??
     
    #94483

    bolo
    참가자
    아 그리고 2번도 질문있습니다!
    let 철수쌤 = { subject: "math" };
    let 영희쌤 = { subject: ["science", "english"] };
    let 민수쌤 = { subject: ["science", "art", "korean"] };
    let 함정 = { trap: ["hi"] };
    function getLastSubject(obj: { subject: string | string[] }): string {
    return typeof obj.subject === "string"
    ? obj.subject
    : obj.subject[obj.subject.length - 1];
    }
     console.log(getLastSubject(철수쌤)); //'math'
     console.log(getLastSubject(영희쌤)); //'english'
     console.log(getLastSubject(민수쌤)); //'korean'
    // console.log(getLastSubject(함정)) //'err'
    
    
    이렇게 짜봤는데, 타입이 string이면 ~~ , 아니면 ~~ 이렇게 삼항연산을 썻는데 
    이런식으로 짜는것 보다는, if문을 이용해서 string이면 어떻게해라, string[]이면 어떻게해라
    식으로 정확하게 타입별로 지정해주는게 좋을까요???
     
    #94498

    codingapple
    키 마스터
    as number는 강제로 타입만 바꿔주지 '1'을 1로 바꿔주진 않습니다 
    간단한건 삼항연산자써도 잘읽힐듯요
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 호 / 개인정보관리자 : 박종흠