1. 변수
- 컴퓨터가 데이터를 기억해야하는데 사용하는 키워드
2. 변수 선언
- 기본적으로 프로그램은 값(value)을 다뤄야 하고, 그 값들은 각각의 변수에 저장되어 사용

- 예)
var name = "김개발";
var job = "frontend developer";
3. 변수 이름 정하기
- 한 파일에서 같은 변수 이름을 중복해서 사용할 수 없다!!!
- 대소문자 구문 - 변수이름, 함수이름, 연산자 모두 대소문자를 구분합니다.
(myName과 MyName은 다른 변수)
- 변수 이름을 정할 때, 첫 번째 문자는 반드시 글자나 밑줄(_), 달러기호($)중 하나 입니다.
- 두 번째 문자 부터는 글자, 밑줄, 달러, 숫자 중에서 자유롭게 쓸 수 있습니다.
변수이름, 함수이름 등 camelCase(카멜케이스) 방식으로 쓸 것.
1) camelCase
- 카멜케이스란 낙타 등처럼 울퉁불퉁하다는 소리입니다. 단어가 새로 시작할 때부터 대문자로 쓰면 됩니다.
- firstSecond / myProfileImg / toDoListArray
2) snake_case
- 변수이름에 -는 사용할 수 없으므로, _를 사용한 것
- 예) first_second / my_profile_img / to_do_list_array
4. block
1) block : block이란 중괄호({}, curly brace)로 감싸진 것
2) 코드들의 block들..
- function : 함수(function) 내부는 하나의 block이다.
function 함수이름( ) { ... }
- for : for문 또한 하나의 block
for ( ) { ... }
- if : if문 또한 하나의 block
if ( ) { ... }
5. Scope
1) Scope :
- 변수가 선언되고 사용할 수 있는 공간.
- scope 외부(block밖)에서는 특정 scope의 변수에 접근할 수가 없다.
- global variable(전역변수) : block밖인 global scope에서 만든 변수
const color = 'red'; // 전역 변수!!!!
function returnColor() {
return color; //밖에 있는 변수사용이 가능하다!!!
}
6. let, const
1) let, const ... 그리고 var 변수 키워드
- 자바스크립트에서는 변수 선언 키워드가 총 3개 있다.
var, let, const
- var 키워드는 function-scope으로써 var 키워드를 사용한 변수이름은 재선언이 가능하다.
var name = "서동찬";
var name = "김동찬";
//만들어진 변수이름으로 재선언했는데 아무런 문제가 발생하지 않는다.
- 이러한 문제로 인하여 let과 const를 사용을 하는 것이 좋다.
2) let & const 차이
-
let과 const는 block-scoped이다. 그러므로 let, const 키워드로 사용한 변수 이름은 재선언이 불가능하다.
const name = "서동찬";
const name = "김동찬" //에러 발생
let name2 ="서동찬2";
let name2 = "김동찬2"; //에러 발생
-
let과 const의 차이점은 변수의 immutable여부이다. 즉, 변수의 재할당이 가능하냐 불가능하냐이다.
-
const변수는 재할당이 불가능하다. 즉, 한 번 값을 할당하면 끝이다.
const name = "서동찬ㅇㄹㅇ"; //처음 값 할당
name = "서동찬" // 에러발생 ()
-
let 변수는 재할당이 가능하다.
let name = "서동찬ㅁㅇㄻㄴㅇㄹ"; //처음 값 할당
name = "서동찬"; // 문제없음
-
const 키워드는 정말 정해진 값을 할당 할 때 사용해야한다.