공부/javascript

[ javascript ] 식별자 네이밍 규칙

신입개발자 2021. 8. 19. 22:07

식별자란?

식별자란 변수, 함수, 클래스 등 이름은 모두 식별자입니다 식별자는 어떤 값을 구별해서 식별할 수 있는 고유한 이름을 말합니다 식별자는 값이 저장되어있는 메모리 주소와 매핑 관계를 맺으며, 이 매핑 정보도 메모리에 저장이 되어야 합니다 이처럼 식별자(변수)는 값이 아니라 메모리 주소를 기억하고 있습니다 즉 식별자는 메모리 주소에 붙인 이름이라고 할 수 있습니다

 

식별자는 3가지 네이밍 규칙을 준수해야 합니다

  • 식별자는 특수문자를 제외한 문자, 숫자, 언더바( _ ), 달러 기호($)를 포함할 수 있습니다
  • 식별자의 특수문자를 제외한 문자, 언더바, 달러 기호로 시작해야 합니다 숫자로 시작되는 것은 허용되지 않습니다
  • 예약어는 식별자로 사용할 수 없습니다

JS 예약어

await break case catch class const
continue debugger default delete do else
enum export extends false finally for
function if implements* import in instanceof
interface* let* new null package* private*
protected* public* return super static* switch
this throw true try typeof var
void while with yield*    

식별자 네이밍 규칙

// 카멜 케이스(camelCase)
var firstName;

// 스네이크 케이스(snake_case)
var first_name;

// 파스칼 케이스(PascalCase)
var FirstName;

// 헝가리언 케이스
var strFirstName; // type + identifier
var$elem = document.getElementById('myId'); // DOM 노드
var observable$ = fromEvent(document, 'click'); // RxJS 옵저버블

일관성을 유지한다면 어떤 네이밍 컨벤션을 사용해도 좋지만 자바스크립트에서는 일반적을 변수나 함수의 이름에는 카멜 케이스를 사용하고, 생성자 함수 클래스의 이름에는 파스칼 케이스를 사용합니다 ECMAScript 사용에 정의되어 있는 객체와 함수들도 카멜 케이스와 파스칼 케이스를 사용하고 있습니다 따라서 코드 전체의 가독성을 높이려면 카멜 케이스와 파스칼 케이스를 사용하는 것이 유리합니다