// 이름, iq 를 받는 함수 👈 💩
function human(name, iq) {
return name + iq;
}
그럼 아래와 같이 쓰는건 좋을까요?
// 이름, iq 를 인자로 넣으면 합쳐서 문자로 리턴하는 함수입니다. 👈 🤔
function human(name, iq) {
return name + iq;
}
나쁘진 않습니다. 하지만, 더 좋은 방법이 있습니다.
/** 주석내용 */ 👈 이와같은 방식으로 주석을 달면, 함수에 마우스를 올려보면, 주석으로 적어둔 내용이 함수에 대한 설명으로 바로 볼 수 있습니다. 👍
이와 같이 주석을 다는 방식을 'JSDoc을 사용한다'라고 말합니다.
JSDoc은 함수, 변수, 객체 등에 주석을 달 수 있습니다.
JSDoc은 자바스크립트 소스 코드 파일들에 주해를 달기 위해 사용하는 마크업 언어이다.
JSDoc을 포함하는 주석을 사용하는 프로그래머들은 자신들이 작성하는 코드의 API를 설명하는 설명 문서를 추가할 수 있다.
그 뒤 다양한 도구들에 의해 처리되어 HTML과 리치 텍스트 포맷 등의 접근 가능한 포맷으로 문서가 생성된다. - 위키백과 (JSDoc)
/**
*
* @param {*} name
* @param {*} iq
*/
function human(name, iq) {
return name + iq;
}
/**
* 이름, iq 를 인자로 넣으면 합쳐서 문자로 리턴하는 함수입니다.
* @param {string} name 이름을 넣으세요.
* @param {number} iq 아이큐를 넣으세요.
* @returns 두 인자를 합쳐서 문자로 리턴합니다.
*/
function human(name, iq) {
return name + iq;
}
@param에 type을 미리 정해놓으면 장점이 VSCode가 해당 타입에 맞는 함수들을 자동으로 추천해줍니다.
return name에 .(점) 표기법 다음에 함수리스트가 나옵니다.
이제 아래의 함수에 마우스 커서를 올려보았을 때 아래와 같이 함수 설명이 나오게 됩니다.
/**
* @version 1.0.0
* @see https://www.naver.com
*/
function human(name, iq) {
return name. + iq;
}
/**
* @readonly
* @const {string}
*/
const name = 'meme'
/**
* @todo 내일까지 데이터 받는 기능 추가
*/
function difficultFunction(obj) {
return obj;
}
/**
* @deprecated 이 함수 오래되서 이제 안씁니다.
*/
function difficultFunction(obj) {
return obj;
}
/** @type {string | number}*/
let name = 'Son';
/** @type {number[]}*/
let iq = [100, 200, 300];