안녕하세요, 강사님.
해당 강의의 숙제 진행 시 에러가 발견됐는데 오류를 잘 모르겠어서 질문 드립니다.
저는 함수 type을 선언하지 않고 object에 담아서 선언했습니다.
그리고 객체 내 속성의 함수를 실행했을 때 파라미터를 string형으로 보냈습니다.
이 때, 파라미터가 undefined여서 string형식 할당이 불가하다는 에러메세지가 확인됐습니다.
변수? :string 으로도 사용하지 않았는데 어느 부분이 문제인지 확인해주실 수 있을까요?
// object type setting
type ChangeStr = {
cutZero :(str :string) => string,
removeDash :(str :string) => number,
}
// use function
let funcObj :ChangeStr = {
cutZero(str) { <<<<<<<<< 여기서 에러납니다.
(str: string) => string | undefined' 형식은 '(str: string) => string' 형식에 할당할 수 없습니다.
'string | undefined' 형식은 'string' 형식에 할당할 수 없습니다.
'undefined' 형식은 'string' 형식에 할당할 수 없습니다.
if(typeof str === 'string') {
if(str.charAt(0) === '0') {
return str.replace(/^0+/, "")
}
}
},
removeDash(str) {
return Number(str.replace('-', ''))
},
}
funcObj.cutZero('가나다라')
funcObj.removeDash('10101-')