๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

JavaScript

[ TypeScript ] ํ˜‘์—…์„ ์œ„ํ•œ interface ์— ํžŒํŠธ ์ฃผ์„ ๋‹ฌ๊ธฐ.

 

 

 

 

ts๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ฐœ๋ฐœ ์ค‘์— interface์— ์ถ”๊ฐ€์ ์ธ ์„ค๋ช…์ด ์žˆ์œผ๋ฉด ์ข‹๊ฒ ๋‹ค~! ๋ผ๋Š” ์ƒ๊ฐ์ด ๋“ค์–ด์„œ ํ‰์†Œ์—๋Š” method๋‚˜ method parameter์— ๋Œ€ํ•œ ์„ค๋ช…์„ ๋‹ฌ์•„์ค„ ๋•Œ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋˜ JSDoc์„ ์ด์šฉํ•˜์—ฌ interface ์„ค๋ช…์„ ์ถ”๊ฐ€ํ•ด ๋ณด์•˜๋‹ค.

 

 

๋จผ์ € JSDoc์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜์ž๋ฉด, JSDoc์€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์šฉ API ๋ฌธ์„œ ์ƒ์„ฑ๊ธฐ๋กœ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ API๋ฅผ ๋ฌธ์„œํ™”ํ•˜๋Š” ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค. module, namespaces, classes, methods, method parameters ๋“ฑ๊ณผ ๊ฐ™์€ ํ•ญ๋ชฉ๋“ค์„ ๋ฌธ์„œํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค.

JSDoc์€ ์ฝ”๋“œ ์ž์ฒด์™€ ํ•จ๊ป˜ ์†Œ์Šค์ฝ”๋“œ์— ์ง์ ‘ ๋ฌธ์„œ ์ฃผ์„์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ฐ€์ง€๊ณ ์žˆ๋‹ค.

 

 

JSDoc ์ฃผ์„์€ ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฌธ์„œํ™”ํ•˜๋ ค๋Š” ์ฝ”๋“œ ๋ฐ”๋กœ ์•ž์— ์œ„์น˜ํ•ด์•ผ ํ•˜๋ฉฐ ๊ฐ ์ฃผ์„์€ JSDoc ํŒŒ์„œ์—์„œ ์ธ์‹๋˜๋„๋ก /** ์‹œํ€€์Šค๋กœ ์‹œ์ž‘ํ•ด์•ผ ํ•œ๋‹ค. /*, /***, ๋˜๋Š” 3๊ฐœ ์ด์ƒ์˜ ๋ณ„ํ‘œ๋กœ ์‹œ์ž‘ํ•˜๋Š” ์ฃผ์„๊ณผ ์ผ๋ฐ˜์ ์ธ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฃผ์„์€ ๋ฌด์‹œ๋œ๋‹ค. ์ด ๊ธฐ๋Šฅ์€ ์ฃผ์„ ๋ธ”๋ก์˜ ํŒŒ์‹ฑ์„ ์–ต์ œํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค.

 

 

 

 

1. ๊ฐ€์žฅ ๋‹จ์ˆœํ•œ ๋ฒ„์ „์˜ ๋ฌธ์„œํ™” ๋ฐฉ๋ฒ•.

/** This is a description of the foo function. */
function foo() {
}

 

 

 

 

 

2. JSDoc ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๋ฐฉ๋ฒ•.

/**
 * Represents a book.
 * @constructor
 */
function Book(title, author) {
}

 

 

 

 

 

3. ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ถ”๊ฐ€ ์ •๋ณด๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•. 

/**
 * Represents a book.
 * @constructor
 * @param {string} title - The title of the book.
 * @param {string} author - The author of the book.
 */
function Book(title, author) {
}

 

 

 

 


 

 

 

interface ICardSection {
    backgroundcolor?: string;
    bordercolor?: string;
    borderradius?: number;
    width?: string;
    height?: string;
    children: React.ReactNode;
    /**
     * margin์€ ๋‹จ์œ„๊นŒ์ง€ ์ ์–ด์•ผ ํ•œ๋‹ค.
     */
    margin?: string;
}

๊ทธ๋ž˜์„œ ์œ„์™€ ๊ฐ™์ด interface์— JSDoc์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์ •๋ณด๋ฅผ ๋ฌธ์„œํ™”ํ•˜๋ฉด, ์•„๋ž˜์™€ ๊ฐ™์ด props์— ๋งˆ์šฐ์Šค๋ฅผ ์˜ฌ๋ฆฌ๋ฉด ์ถ”๊ฐ€ ์ •๋ณด๊ฐ€ ๋…ธ์ถœ๋œ๋‹ค.

 

 

 

 

 

 

 

 

 

 

 

 

 


 

๐ŸŒธ ์ถœ์ฒ˜ ๐ŸŒธ

 

JSDoc

poiemaweb - JSDoc์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•