코어자바스크립트를 보다가 변수이름앞에 $을 붙이거나 _ 가 있는것을 보고 이게 무슨의미인가 찾아보았는데
단순히 식별자 로써 사용할수있다고한다. 다른 특수문자나 숫자 등은 맨앞에 붙일수없지만 $(Dollar Sign)와 _(Underscore)는 사용할수있다고 한다.
그런데 관례(?)적으로 변수앞에 $을 쓸때 보통 document.getElemetById 를 쓸때 사용한다고도 하고 jQuery 객체를 담을때 사용한다고 하는데 이렇게 들으면 애매하지만 예시를 보면 언제 쓰이면 좋은지 알수있다.
보통 변수안에 값을 할당해줄때 string, number, function, object 형식으로 이루워진다.
일반적인 변수명과 할당
const a = 1;
let b = 'a';
const c = function (){ return '안녕'; }
const d = {
first : 'hi',
two : 'my name',
}
$ Dollar Sign 식별자
하지만 자바스크립트를 사용할때 이외에도 Dom 객체를 담아서 사용할수도있고, 해당 메서드를 사용할수도있다 이럴때 어떤 변수의 타입인지 쉽게 분리해서 볼수있기 때문이다 다음 아래를 보면알수있다.
const $a = document.createElement('li');
const $ = (id) =>{
return document.getElementById(id);
}
let fruits = ['apple', 'banana', 'peach'];
let $ul = document.createElement('ul');
fruits.forEach(function (fruit) {
let $li = document.createElement('li');
$li.innerText = fruit;
$li.addEventListener('click', function () {
alert('your choice is '+fruit);
});
$ul.appendChild($li);
});
document.body.appendChild($ul);
다음과 같이 엘레멘트들과 관련된 함수들을 사용하면 일반적인 값을 할당하는게 아닌 dom 객체 요소들에 해당하기때문에 좀더 쉽게 무슨 역할을 하는지 알수있기 때문이다.
아마 내생각엔 이러한 자주쓰이는 $로 인해서 JQuery 라이브러리에서도 이걸 기준으로 쓰는거 같다.
_ under score, 언더스코어 식별자
이와같이 _ 같은경우도 주로 사용하는 의미가 있는데 함수의 매개변수로 언더바( _ )를 사용하는 것은 JavaScript 개발자들의 관습이라고 할 수 있는데, normalFunc의 첫 번째 매개변수가 중요하지 않다는 것을 표현하기 위해 단독으로 언더바( _ )로 선언합니다
또한 변수앞에 _써서 '_변수' 와 같은 형태는 접근제어자 private의 특성 이 적용되어야 하는 변수나 함수 앞에 그것을 명시하고자 쓰여왔다.
public과 private을 즉시 식별할 수있는 빠르고 쉬운 방법이다.
public, private 키워드를 사용하지 않고 필드를 정의하면 유용하다.
따라서 $ 나 _ 는 식별자로써 사용할수있으면서도 관례적으로 해당 하는 역할이 있다.
'언어 > 자바스크립트' 카테고리의 다른 글
iframe 결제시 라우팅 history 관리, 뒤로가기 구현 (0) | 2023.08.01 |
---|---|
Deep dive의 순수함수, 불변성, feat. 리덕스, 리듀서, 미들웨어 (0) | 2023.02.05 |
[Javascript] 클로저 (0) | 2022.07.03 |
[Javascript] 콜백함수 (0) | 2022.06.20 |
[Javascript] bind 메서드 (0) | 2022.06.19 |