본문 바로가기

Javascript

JavaScript - 에어비앤비 자바스크립트 스타일 가이드 (Airbnb JS Style Guide)

https://github.com/tipjs/javascript-style-guide#%ED%98%95types

 

tipjs/javascript-style-guide

Airbnb JavaScript 스타일 가이드 한국어. Contribute to tipjs/javascript-style-guide development by creating an account on GitHub.

github.com

 

위 문서를 참고하였다. 위 문서 중 몇가지 내가 특히 주의하면 좋을 점들을 정리해 놓았다.

 

  • 문자열 (string) 에는 싱크쿼트 (' ')를 사용한다. (6.1)
  • 100문자 이상의 문자열은 문자열 연결을 사용하여 복수행에 걸쳐 기술한다. (6.2)
  • 프로그램에서 문자열을 생성하는 경우 문자열 연결이 아닌 template strings (` `) 를 이용한다. (6.4)
  • 함수의 default 파라메터는 뒤쪽에 둔다. (7.9)
  • 식이 복수행에 걸쳐있을 경우, 가독성을 위하여 소괄호로 감싼다. (8.3)
  • 와일드카드 (wildcard) 임포트 (import) 는 이용하지 않는다. (10.2)
  • 이터레이터 (iterator) 의 사용보다 map과 reduce와 같은 JS 고급함수 (higher-order functions) 를 이용한다. (11.1)
  • 변수를 이용하여 프로퍼티에 엑세스하는 경우에만 대괄호를 사용한다. (12.2)
  • const를 우선적으로 그룹화하고 그 다음 let을 그룹화한다 (13.3)
  • 단축형을 사용한다. (15.3)
  • 복수행의 코멘트는 /** ... */, 단일행의 코멘트는 // 를 사용하며, 코멘트를 추가하고 싶은 코드의 상부에 배치한다. (17.1, 17.2)
  • 문제에 대한 주석은 // FIXME: 를 사용한다. (17.4)
  • 문제에 대한 해결책은 // TODO: 를 사용한다. (17.5)
  • 문의 앞과 블록의 뒤에는 빈 행을 남긴다. (18.7)
  • 필요없는 경우 블록에 빈행을 끼워 넣지 않으며 소괄호의 안쪽에 스페이스를 추가하지 않는다. (18.8, 18.9)
  • 대괄호의 안쪽에 스페이스를 추가하지 않으며 중괄호의 안쪽에는 스페이스를 추가해 준다. (18.10, 18.11)
  • String으로 형변환하는 경우 String()를 사용한다. (21.2)
  • Number로 형변환하는 경우 Number() 또는 parseInt()를 사용한다. parseInt의 사용에 경우 10을 두 번째 인수로 무조건 넣어준다. (21.3)
  • Booleans로 형변환 (값이 존재하는지) 의 경우 Boolean() 또는 !!variable 을 사용한다. (21.6)
  • 오브젝트, 함수, 그리고 인스턴스는 카멜 표기법을 사용한다. (22.2)
  • 클래스나 컨스트럭터에는 파스칼 표기법을 사용한다. (22.3)
  • private 프로퍼티명은 선두에 언더스코어를 사용한다. (22.4)
  • 파일을 1개의 클래스로 export하는 경우, 파일명은 클래스명과 완전히 일치시킨다. (22.6)
  • export default가 함수일 경우 카멜 표기법을 사용한다. (22.7)
  • 싱글턴, 함수 라이브러리, 또는 빈 오프젝트를 export 하는 경우 파스칼 표기법을 사용한다. (22.8)
  • 프로퍼티를 위한 엑세서 (accessor) 함수는 필수가 아니다. 다만 필요한 경우 getVal() 또는 setVal('')로 한다. (23.1, 23.2)
  • 프로퍼티가 불리언인 경우 isVal() 또는 hasVal()로 한다. (23.3)