개발/javascript

식별자

마루쨩 2023. 9. 13. 02:46

"식별자"

식별자(identifier)는 어떤 값을 구별하여 식별해 낼 수 있는 고유한 이름을 말한다

변수의 이름도 식별자이다.

※ 식별자는 값을 기억하고 있는 것은 아니고 메모리 주소를 기억하고 있다.

 

식별자가 값을 기억하고 식별한다는 것은 식별자가 기억하고 있는 메모리 주소를 통해 메모리 공간 안에 저장되어 있는 값에 접근할 수 있다는 것을 말한다. 

따라서 식별자는 메모리 주소에 붙인 이름이다.

 

식별자라는 용어는 변수 이름에만 국한되어 사용하지는 않다.

나중에 살펴볼 함수, 클래스 등에도 이름이 붙는다.

이러한 이름들도 모두 식별자다. 식별자란 별다른 게 아니라 메모리상에 존재하는 어떠한 값을 식별할 수 있으면 그 이름을 모두 식별자라고 부른다.

 

식별자는 이름이다.

이름을 붙일 땐 아무렇게나 붙이는 게 아닌 네이밍 방식이 있다.

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

※ 주의할 점

이름을 붙여 줄 땐 의미가 있어야 한다.

변수에 이름을 만들 땐 그 변수가 어떠한 값을 저장할 것이기 때문에 그 값을 대변할 수 있는 의미 있는 이름을 붙여야 한다.

좋은 변수 이름은 코드의 가독성을 높여준다.

여러 개의 단어로 이루어진 변수의 이름을 만들 때에는 여러 가지 방법이 있다.

네이밍 컨벤션

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

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

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

//헝가리언 케이스 (typeHungarianCase)
var strFirstName; // type + identifier
var $elem = $('.myClass'); // jQuery

변수명, 함수명을 지을 때 보통 카멜케이스를 많이 쓴다.

 

파스칼케이스는 함수 중에서도 객체를 생성하는 생성자 함수명에 많이 쓰인다. 클래스도 객체를 생성하는 용도로 사용하는 것인데

이 두 가지 케이스에서는 파스칼 케이스를 사용하는 것이 일반적이다.

 

헝가리언 케이스는 변수 이름의 타입정보를 추가적으로 기재하는 것이다.

모든 변수는 타입을 가지고 있다. 타입이라는 건 변수가 가지고 있는 값의 종류를 나타낸 것.

예를 들어 str이라는 부가적인 정보를 주면 FirstName이라는 변수가 스트링. 즉 문자열을 갖게 된다라는  부가적인 정보를 추가해 주기 위해서 사용한다.

 

제이쿼리라는 라이브러리에서 많이 사용하는 방식 $를 변수 이름의 앞에 붙여주면 DOM요소를 나타낸다라는 부가정보를 나타내는 것이다.