타입 힌팅 개요
GitLab 프론트엔드 코드베이스에서 JSDoc을 활용한 타입 힌팅 방법과 시스템 요구 사항을 설명합니다.
GitLab 프로젝트의 프론트엔드 코드베이스는 현재 타입을 필수로 요구하거나 강제하지 않습니다. 타입 어노테이션 추가는 선택 사항이며, 현재 JavaScript 코드베이스에서 타입 안전성을 강제하지 않습니다. 그러나 타입 어노테이션은 코드베이스의 명확성을 높이는 데 매우 도움이 될 수 있으며, 특히 공유 유틸리티 코드에서 유용합니다. 이 문서는 타입 힌팅이 현재 어떻게 동작하는지, 새로운 타입 어노테이션을 추가하는 방법, 그리고 GitLab 프로젝트에서 타입 힌팅을 설정하는 방법을 다룹니다. JSDoc # JSDoc 은 특별하게 형성된 주석을 사용하여 JavaScript 코드에서 타입을 문서화하고 설명하는 도구입니다. JSDoc의 타입 어휘는 상대적으로 제한적이지만, 많은 IDE 에서 널리 지원됩니다. 예시 # 함수 설명 # @param 과 @returns 를 사용하여 함수 타입을 설명합니다: /** * Adds two numbers * @param {number} a first number * @param {number} b second number * @returns {number} sum of two numbers */ function add(a, b) { return a + b; } 선택적 파라미터 # 파라미터 이름 주위에 대괄호 [] 를 사용하여 선택적 파라미터로 표시합니다. [name=value] 구문을 사용하여 기본값을 제공할 수 있습니다: /** * Adds two numbers * @param {number} value * @param {number} [increment=1] optional param * @returns {number} sum of two numbers */ function increment(a, b=1) { return a + b; } 객체 파라미터 # 객체를 받는 함수는 @param 이름에 object.field 표기법을 사용하여 타입을 지정할 수 있습니다: /** * Adds two numbers * @param {object} config * @param {string} config.path path * @param {string} [config.anchor] anchor * @returns {string} */ function createUrl(config) { if (config.anchor) { return path + '#' + anchor; } return path; } 즉시 값이 할당되지 않는 변수의 타입 어노테이션 # 도구와 IDE는 즉시 값을 받지 않는 변수의 타입을 추론하기 어렵습니다. @type 표기법을 사용하여 이러한 변수에 타입을 할당할 수 있습니다: /** @type {number} */ let value; 더 많은 구문 세부 사항은 JSDoc 공식 웹사이트 를 참조하세요. JSDoc 사용 팁 # 기본 타입에는 소문자 이름 사용 # 대문자와 소문자 모두 허용되지만, 대부분의 경우 기본 타입이나 객체에는 소문자를 사용합니다: boolean , number , string ,