Closed hyeyoonS closed 2 months ago
첫 번째 이유는 타입스크립트만의 유용한 타입 기능을 사용하며 더 엄밀한 타입 지정을 할 수 있습니다. JSDocs에서는 타입 확장, key-value를 구체화한 객체 타입 등을 사용할 수 없고 제네릭도 사용하기 힘듭니다. 두 번째 이유는 점진적 타입 시스템을 가진 타입스크립트는 모든 타입을 일일이 지정하지 않아도 되고 타입 추론을 활용할 수도 있기 때문에 DX에 좋습니다.
우선 JSDocs로 어떻게 타입검사를 할 수 있는지 살펴보겠습니다.
JSDoc 주석을 사용하여 JavaScript 코드에 타입 정보를 추가하면, 일부 IDE와 코드 편집기에서 정적 분석 도구를 통해 타입 검사를 수행할 수 있습니다.
예시
/**
* Adds two numbers together.
* @param {number} a - The first number.
* @param {number} b - The second number.
* @returns {number} The sum of the two numbers.
*/
function add(a, b) {
return a + b;
}
{
"plugins": ["jsdoc"],
"rules": {
"jsdoc/check-alignment": "error",
"jsdoc/check-param-names": "error",
"jsdoc/check-tag-names": "error",
"jsdoc/check-types": "error",
"jsdoc/implements-on-classes": "error",
"jsdoc/newline-after-description": "error",
"jsdoc/no-undefined-types": "error",
"jsdoc/require-description": "error",
"jsdoc/require-jsdoc": "error",
"jsdoc/require-param": "error",
"jsdoc/require-param-description": "error",
"jsdoc/require-param-name": "error",
"jsdoc/require-param-type": "error",
"jsdoc/require-returns": "error",
"jsdoc/require-returns-check": "error",
"jsdoc/require-returns-description": "error",
"jsdoc/require-returns-type": "error"
}
}
코드에 직접 타입을 추가하므로 안정성↑
코드 자동 완성 기능을 지원합니다.
대규모 코드베이스에서의 유지보수가 용이합니다.
컴파일 타임에 타입 오류를 확인할 수 있으므로, 런타임 오류를 방지할 수 있습니다.
주석을 통해 코드에 타입 정보를 추가해야 하는 JSDoc에 비해 타입스크립트는 정적 타입 시스템을 통해 컴파일 시점에 타입 체크를 수행할 수 있으며, 이는 더 안정적인 코드 작성을 가능하게 합니다. 또한, 자동 완성, 인터페이스, 제네릭과 같은 고급 기능을 제공해 JSDoc보다 더 효율적인 개발 환경을 제공합니다.
❓문제
🎯답변
우선 JSDocs로 어떻게 타입검사를 할 수 있는지 살펴보겠습니다.
JSDoc 주석을 사용하여 JavaScript 코드에 타입 정보를 추가하면, 일부 IDE와 코드 편집기에서 정적 분석 도구를 통해 타입 검사를 수행할 수 있습니다.
예시
JSDocs로 타입을 지정할 때의 장단점
TypeScript를 사용할 때 장점
코드에 직접 타입을 추가하므로 안정성↑
코드 자동 완성 기능을 지원합니다.
대규모 코드베이스에서의 유지보수가 용이합니다.
컴파일 타임에 타입 오류를 확인할 수 있으므로, 런타임 오류를 방지할 수 있습니다.