JSDoc이란 Javascript 코드를 문서화해주는 기술입니다.
타입이 있는 C#을 사용하다가 Javascript를 사용했을 때 타입의 멤버 리스트가 자동완성되지 않아서 굉장히 불안하고 불편했는데, JSDoc으로 어느정도 안전한 코드를 작성할 수 있어 보입니다.
대부분은 프로젝트에 Typescript를 쓰지만, 최근에 Javascript로 진행한 작은 프로젝트가 있어 코드에 적용을 해 보았습니다.
이 코드가 쓰인 프로젝트는 파이널판타지14의 어려운 레이드의 패턴 처리를 익히기 위한 일종의 시뮬레이터 웹 페이지입니다. (https://devhante.github.io/edens-promise/)
getAnswer 함수는 랜덤으로 생성되는 장판의 범위 정보가 담긴 문자열의 배열을 받아와 8개로 나누어진 구역 중에 장판들의 범위에 해당되지 않는 위치를 반환하는 함수입니다. 이 함수에 매개변수에 대한 주석과, 반환값에 대한 주석을 추가해 보았습니다.
getAnswer 함수를 호출했을 때 에디터가 매개변수의 타입과 설명, 반환값에 대한 설명을 보여줍니다. 물론 어디까지나 주석에 불과하기 때문에 명시된 타입과 다른 타입을 넣는다고 해서 에러를 표시해주지는 않습니다.
Javascript를 사용한 프로젝트에 JSDoc을 적극적으로 활용하여 더 깔끔하고 안전한 코드를 작성할 수 있을 것 같습니다.