inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[리뉴얼] 타입스크립트 올인원 : Part2. 실전 분석편

typescript interface를 jsdoc으로 주석달 때

228

큰돌

작성한 질문수 3

0

안녕하세요 ㅎㅎ

예를 들어 다음과 같은 인터페이스가 있고 해당 인터페이스 상단에 jsdoc기반으로 주석달 때 다음과 같이 주석을 다는게 맞을까요?

/**
 * 테스트 결과 인터페이스
 *
 * 이 인터페이스는 API 테스트 결과를 캡처하기 위한 정보를 담습니다.
 *
 * @property {HttpMethod} method - HTTP 메소드 (예: GET, POST 등).
 * @property {string} url - 요청 URL.
 * @property {ApiDocOptions} options - API 문서 생성 옵션.
 * @property {object} request - 요청 관련 정보.
 * @property {unknown} [request.body] - 요청 바디 (선택 사항).
 * @property {Record<string, string | unknown>} [request.headers] - 요청 헤더 (선택 사항).
 * @property {Record<string, string | unknown>} [request.queryParams] - URL 쿼리 파라미터 (선택 사항).
 * @property {Record<string, string | unknown>} [request.pathParams] - URL 경로 파라미터 (선택 사항). 
 */
export interface TestResult {
    method: HttpMethod
    url: string
    options: ApiDocOptions
    request: {
        body?: unknown
        headers?: Record<string, string | unknown>
        queryParams?: Record<string, string | unknown>
        pathParams?: Record<string, string | unknown>
    } 
}

 

감사합니다.

typescript

답변 2

0

제로초(조현영)

ts이면 typedoc도 고려해볼만 하고요. 이미 타입이 달려있으므로 {HttpMethod}나 선택 사항같은 건 안 적으셔도 되긴 합니다.

0

큰돌

네 감사합니다.ㅎㅎ

그러면 타입에 관한 설명은 지우고, 저렇게 @property 기반해서 가도 괜찮을까요?

보통 프로퍼티는 객체설명할때 쓰는건데 ts-interface 관련해서 딱히 정해진게 없어보여서요ㅠ

0

제로초(조현영)

인터페이스가 객체입니다!

0

큰돌

넵 감사합니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 큰돌님.

타입스크립트의 인터페이스에 대해 JSDoc 주석을 다는 방법에 대해 문의해 주셨습니다. 전달해 주신 예시는 매우 잘 작성되었으며, JSDoc으로도 잘 호환됩니다. 각 속성에 대한 설명과 타입을 명시하여 코드의 가독성과 유지보수성을 높이는 데 도움이 됩니다.

해당 방법으로 인터페이스에 주석을 다는 것은 적절합니다. 또한, 주석을 통해 인터페이스의 각 속성이 어떤 역할을 수행하는지, 그리고 각 속성의 타입이 무엇인지 명확히 음으로써 다른 개발자가 코드를 쉽게 이해할 수 있도록 돕고 있습니다.

더불어 아래 링크를 참고해보시면, 타입스크립트 프로젝트에서 JSDoc을 활용하여 더 많은 관리 방식이나 팁을 얻을 수 있습니다:
- 타입스크립트와 JSDoc

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

타입 오버라이딩

0

77

2

React19에서 useRef 타입 정의의 변화

0

118

2

jQuery를 $로 한 번 더 감싼 형태

0

54

1

declare module시 import 위치

0

195

2

declare global 로 선언된 타입을 확장하는게 아닌 좁히는것도 가능할가요?

0

145

2

typescript 강의를 보고 개발을 하다가 강의와 다른 내용인데 물어볼곳이 여기밖에 없어서 질문 드립니다.

0

234

1

강의에 필요한 사전준비와 예제 코드 첨부

1

308

1

local.ts 예제코드 첨부 합니다.

1

227

1

redux 예제코드 가져와서 강의 보면서 따라하는데

1

242

1

react 함수 컴포넌트 타이핑은 있는데 클래스 컴포넌트 타이핑 예제 코드가 없네요.

1

284

1

axios 1.6.0 버전으로 보고 있는데영

4

391

1

Module '"axios"' has no default export 에러 나시는분들

0

879

1

안녕하세요, 제로초님 타입스크립트 axios 분석 강의보고 궁금한점이 있어서 질문드립니다

1

386

1

안녕하세요. 제로초님 당신의 강의 매니아 입니다. typescript 모듈 관련 질문이 있어서요.

0

268

1

axios catch 에서 error 타입에 대해 as 없이 이렇게 사용하면 어떨까요?

0

405

1

global 선언 시 export {}

0

296

1

initialState가 제네릭 S인 이유가 잘 이해가 되지 않습니다.

0

308

1

declare module vs declare namespace

0

473

1

declare namespace vs namespace

0

494

2

"axios": "1.4.0" 버전 axios type 코드가 강의와 다릅니다!

0

555

1

Redux type 설정 과정에서 발생한 오류 질문 (ts[2345])

1

376

2

index.d.ts 에서 global declare 선언을 했을 때와 하지 않았을 때의 차이

0

403

1

미들웨어가 커링패턴으로 이루어진 이유

0

435

1

axios 파트 첫번째 강의 질문입니다

0

531

1