작성
·
461
1
기 존재하는 객체에 상황에따른 property 가 추가되는 경우 typescript 를 적용할 수 없는건가요?
interface Rst {
name:string
}
const Result:Rst = {name:'a'}
if{
Result.A='a' // A 가 없습니다.
} else if {
Result.B='b'
} else {
Result.C='c'
}
-------------------------------------
404 에러처리
app.use((req, res, next) => {
const err = new Error('Not Found');
err.status = 404; // <<<<<<<<<<<<<<<<<
err.errResp = { errCode: gHcConf.ERR_NOT_FOUND, errMsg: 'Not Found' }; // <<<<<<<<<<<<<<<
next(err);
});
답변 1
0
안녕하세요 윤서님, 너무 좋은 질문해 주셨네요.. 안그래도 지금 말씀하신 내용들을 커버하는 타입스크립트 후속 영상들을 준비하고 있었는데요. 이후 강좌에서 궁금하신 내용들을 모두 다 확인하실 수 있을 것 같습니다.
[후속 영상에서 다룰 내용]
1. 기존 프로젝트에 타입스크립트를 적용해 나가는 방법과 과정
2. 외부 라이브러리를 활용하는 경우의 타입스크립트 적용 방법
그래도 일단 먼저 질문을 주셨으니 간단하게 답변 드리겠습니다 :)
[질문 답변]
1. 자신이 모든 type 을 정해서 사용하는 곳에서는 typescript 를 어떻게든 적용해볼 수 있을 것 같으나
기존 프로젝트에 적용 시 어떻게 시작해야 할지 모르겠습니다.
답변) 이미 자바스크립트로 개발된 소스 코드에는 점진적인 적용 방식을 활용하시는게 좋습니다. 관련해서는 제가 간단하게 아래에 정리해 놨구요. 이후 강좌 올라오면 함께 살펴보시면 좋을 것 같습니다 :)
2. 빈 object 선언으로 확장??? property 추가 하면서 작성된 부분을 어찌해야할지?
객체에 동적으로 속성을 추가할 수 있다는 점이 자바스크립트 객체의 큰 장점이긴 하지만, 실제로 웹 서비스를 개발할 때는 이미 백엔드와의 인터페이스(어떤식으로 데이터를 주고 받을 건지에 대한 약속)을 정의하고 개발하는 경우가 대다수 입니다. 이 때 특정 API를 호출하면 어떤 데이터가 오겠다라는 것을 보통 다 정의하고 시작하실텐데요. 이러한 관점에서 객체는 가급적 사용할 속성들과 타입을 미리 정의하고 시작하시는 것이 좋습니다 :)
3. npm 에서 라이브러리를 이용해 서비스로직을 구현한 것들은 어떻게 적용해야할지?
먼저 키워드를 말씀 드리자면 npm을 이용해 외부 라이브러리를 설치하여 개발하시는 경우 타입스크립트가 해당 라이브러리를 인식할 수 있어야 합니다. 이 때 해당 라이브러리를 타입 관점에서 정의해 주어야 하는데요. 이걸 라이브러리를 설치해서 사용하시는 분들이 일일이 다 정의하게 되면 부담이 되기 때문에 보통 커뮤니티 차원에서 DefinitelyTyped에 정의해 놓습니다. 만약 쓰시는 라이브러리의 이름이 datepicker라고 하신다면 구글에 datepicker @types 라고 검색해 보세요 :)
혹시 더 궁금하신 것 있으면 알려주시구요. 수강해 주셔서 감사합니다 :)