변수


변수란 간단히 값을 담는 그릇 입니다. 변수라는 이름에서 알 수 있는이 변수에 담긴 값은 언제든 바뀔 수 있습니다. 변수를 선언할 때는 let 이라는 예약어(또는 키워드)로 변수를 선언합니다.

let teacher = '짐코딩'; // teacher 라는 변수를 선언한 후 초기값 '짐코딩' 할당
console.log(teacher); // '짐코딩'
teacher = '홍길동';     // teacher 변수의 값을 '홍길동'으로 변경
console.log(teacher); // '홍길동'

let teacher = '홍길동'; // Identifier 'teacher' has already been declared

<aside> 💡 let 키워드는 ES6에서 새로 생겼습니다. ES6 이전에는 var 키워드만 사용할 수 있었습니다.

</aside>

상수


상수는 ES6에서 새로 생겼습니다. 상수도 변수와 마찬가지로 값을 할당받을 수 있지만, 한 번 할당한 값을 바꿀 수는 없습니다.

const teacher = '짐코딩';
teacher = '홍길동';   // Uncaught TypeError: Assignment to constant variable.

<aside> 💡 자바스크립트 프로그래밍시 성능에서 이점을 얻기위해 let 보다 const를 사용하면 좋습니다. 단! 값이 바뀔 수 있는 경우에는 let을 사용하면 되겠죠? var 이것은 사용안하시면 됩니다.

</aside>

ES란


과거에는 브라우저 별로 자바스크립트 문법이 상이하여, 개발자들이 엄청난 곤욕을 겪곤 했는데요.

ES란? ECMAScript의 약어입니다. ECMAScript는 브라우저에서 동작하는 자바스크립트라는 언어를 만들때 변수는 어떻게 선언하고, 함수는 어떻게 선언하는지 이렇게 브라우저에서 동작하는 자바스크립트 문법을 표준화 하기 위해 만들어졌습니다.

ECMA스크립트 - 위키백과, 우리 모두의 백과사전

스코프 (Scope)


Scope 를 직역하면 영역, 범위라는 뜻이며, 프로그래밍에서 말하는 스코프는 변수나 함수를 사용할 수 있는 영역을 말합니다.