커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
find 함수의 반환값을 any 타입으로 저장하는 것이 아닌 타입을 지정하여 저장하는 방법
TypeScript 문법 종합반
4주차
북마크
박*용
댓글
2
추천
0
조회수
15
조회수
15
답변 완료

* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.

* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.



안녕하세요 튜터님, 항해 플러스 백엔드 8기 박성용 입니다.

사전 스터디 중 TS 4주차 실습 강의를 진행하면서 궁금한 점이 있어서 질문을 드립니다.


find 함수의 반환값을 저장해서 사용하기 위해서

const order = orders.find((order) => order.id === orderID);

와 같이 사용 하여 암묵적으로 order 변수에 any 타입을 부여하였지만,

const order: Order = orders.find((order) => order.id === orderID);

와 같은 형식으로 저장하려 하면


'Order | undefined' 형식은 'Order' 형식에 할당할 수 없습니다.

'undefined' 형식은 'Order' 형식에 할당할 수 없습니다.ts(2322)


라는 에러를 확인할 수 있었습니다.


이럴 때에는 any 타입으로 받는 것이 맞는 것인지, Order 타입을 지정하여 저장할 수 있는 방법이 있는지 궁금합니다.





function completeOrder(user: User, orderID: number): void {


    if(!isAdmin(user)) {
        console.log("권한이 없습니다.")
        return;
    }


    const order: Order = orders.find((order) => order.id === orderID);
    if(typeof order !== "undefined") {
        order.status = "completed";
        console.log(`${user.name}님이 주문하신 ${order.beverageName}이 준비되었습니다.`)
    }
    else {
        console.log("주문 번호가 존재하지 않습니다.")
    }


    return;
}
취소
 공유
취소
댓글 0
댓글 알림
나의얼굴