본문 바로가기

웹/JavaScript

[JavaScript] 자바스크립트에서 변수 이름 앞에 오는 달러($), 언더바(_)

 

다른 사람의 코드를 보다가 변수 앞에 달러 기호($)가 붙어있는 부분이 의문점이 들어서 찾아본 내용을 정리해본다.

`${variable}`의 형식이 아닌 변수 이름 자체가 $variable 의 형식이었다. 

 

식별자에서의 $, _

알아보니 둘 다 일반 문자로, 식별자(변수나 함수) 이름으로 쓰일 때는 알파벳과 똑같이 취급된다. 특수한 기능이 있는 것은 아니고 관습적으로 사용된다. 이 요소를 활용해 변수 이름을 지으면 변수명만 보고도 그 변수의 특성을 쉽게 알아볼 수 있다. 

 

달러 기호($)

document.getElementById() 에 대한 바로가기를 나타낼 때 변수명 앞에 달러를 붙여 사용한다. 

//document.getElementById("test")의 요소를 매개변수로 받는 함수
function testCode($test, textArr){
    $test.innerText = textArr.map((t)=> `<p>${t}</p>`); //${변수명}은 별개!
}  

//위처럼 나타내기 위해 아래 함수를 같이 사용하기도 한다.
function $(x) {return document.getElementById(x);}

 

단, 달러만 단독으로 쓰이는게 아니라 뒤에 점이 같이 붙으면 ($.variable) 제이쿼리 객체라는 의미로 사용된다는 모양이다.

 

언더바 기호(_)

private 식별자를 나타낼 때 변수명 앞에 사용한다. 간단하게 예를 들면 아래처럼 쓰일 수 있다. 

function makeName(){
    const _name = 'this is private'; //private 변수
    this.getName = function (){
    	return _name;
    };
}

const test = new makeName();
console.log(text._name); // 비공개된 변수에 직접 접근 시 undefined 출력
console.log(text.getName); // this is private 출력

 

 


참고 자료

eferrit https://ko.eferrit.com/javascript%EC%9D%98-%EB%8B%AC%EB%9F%AC-%EA%B8%B0%ED%98%B8-%EC%99%80-%EB%B0%91%EC%A4%84-_/

블로그  https://eotkd4791.github.io/javascript/JavaScript15/

thoughtco https://www.thoughtco.com/and-in-javascript-2037515

OKKY Q&A https://okky.kr/article/311740