자바스크립트를 공부하면서 가장 많이 듣게되지만 쉽게 지나치고 주의깊게 생각하지 않으면 무심코 지나가는 내용이라 생각한다. 나만 그럴지도 모르겠지만...
변수와 식별자는 너무 쉽게 혼용되어 표현할 수 있기 때문에 한번 정확하게 알아보려 한다.
자바스크립트 공부를 하면서 다음과 같은 표현을 보았다.
~ 자바스크립트 엔진이 식별자로 해석한다.
식별자로 해석한다는 말이 어떤 의미인지.. 식별자와 변수 또는 변수명과는 어떤 차이가 있는지 알아본다.
let variable = 10;
그전에 변수란 무엇인가?
변수는 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름을 말한다.
변수는 변수명과 다르다. 쉽게 생각하면 변수는 특정 메모리 공간을 의미하고, 그 메모리 공간에 붙인 이름을 변수명이라 한다.
이 내용에 따르면 variable은 10이라는 값을 저장하고 있는 메모리 공간을 식별하기 위해 붙인 이름으로 변수명이다. 또한 10이라는 값을 저장하고 있는 메모리 공간에 대한 식별자이기도 하다.
식별자는 변수명을 포함하는 더 큰 범위의 개념으로 볼 수 있다. 변수명, 함수명, 클래스명, 등 메모리 공간에 이름을 붙일 수 있고 이 모든것들이 식별자가 된다.
식별자인 변수명으로는 메모리 상에 존재하는 변수 값을 식별할 수 있고, 함수명으로는 메모리 상에 존재하는 함수를 식별할 수 있다.
메모리상에 존재하는 어떤 값을 식별할 수 있는 이름은 모두 식별자라고 부른다.
쉽게 정리를 해보려고 했는데.. 정리를 쉽게하는게 제일 어려운것 같다
식별자 : 변수명을 포함한 메모리 상에 존재하는 어떤 값을 식별할 수 있는 이름
변수명 : 특정 메모리 공간(값을 저장하고 있는)에 대한 이름