식별자 네이밍 규칙

건둔덕 ·2022년 6월 19일
1

Javascript

목록 보기
4/28
post-thumbnail

식별자는 어떤 값을 구별해서 식별해낼 수 있는 고유한 이름을 말한다. 식별자는 다음과 같은 네이밍 규칙을 준수해야 한다.

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

예약어(reserved word)는 프로그래밍 언어에서 사용되고 있거나 사용될 예정인 단어를 말한다.

변수 이름도 식별자이므로 위의 네이밍 규칙을 따라야한다. 예를 들어, 다음과 같은 식별자는 변수 이름으로 사용할 수 있다. 참고로 변수는 쉼표(,)로 구분해 하나의 문에서 여러 개를 한번에 선언할 수 있다. 하지만 가독성이 나빠지므로 권장하지는 않는다.

var person, $elem, _name, first_name, val1;

ES5부터 식별자를 만들 때 유니코드 문자를 허용하므로 알파벳 외의 한글이나 일본어 식별자도 사용할 수 있다. 하지만 알파벳 외에 유니코드 문자로 명명된 식별자를 사용하는 것은 바람직 하지 않으므로 권장하지 않는다.

다음 식별자는 명명 규칙에 위배되므로 변수 이름으로 사용할 수 없다.

var first-name;
var 1st;
var this;

자바스크립트는 대소문자를 구별하므로 다음 변수는 각각 별개의 변수이다.

var firstname;
var firstName;
var FirstName;

변수 이름은 변수의 존재 목적을 쉽게 이해할 수 있도록 의미를 명확하게 표현해야한다. 좋은 변수 이름은 코드의 가독성을 높인다.

var x = 3;        // x 변수가 의미하는 바를 알 수 없다.
var score = 100;  // score 변수는 점수를 의미한다

네이밍 컨벤션(naming convention)은 하나 이상의 영어단어로 구성된 식별자를 만들 때 가독성 좋게 단어를 한 눈에 구분하기 위해 규정한 명명 규칙이다. 네이밍 컨벤션을 잘 지키면 읽기 좋은 이름을 만들 수 있다.

다음 4가지 유형의 네이밍 컨벤션이 자주 사용된다.

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

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

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

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

일관성을 유지한다면 어떤 네이밍 컨벤션을 사용해도 좋지만 자바스크립트에서는 일반적으로 변수나 함수의 이름에는 카멜케이스를 사용하고, 생성자 함수, 클래스에는 파스칼 케이스를 사용한다.
ECMAScript 사양에 정의되어 있는 객체와 함수들도 카멜 케이스와 파스칼 케이스를 사용하고 있다.

따라서 코드전체의 가독성을 높이려면 카멜 케이스와 파스칼 케이스를 사용하는 것이 유리하다.

profile
건데브

0개의 댓글