// 변수는 하나의 값을 저장하기 위한 수단
var userId = 2
var userName = "L"
var users = {
{id : 2, name : "L"},
{id : 3, name : "j"}
};
var result; // 변수 선언(변수 선언문);
result = 70; // 값의 할당
console.log(result); // 70
var result = 70; // 변수의 선언과 값의 할당
result = 70; // 값의 재할당
let answer; // 변수의 의미를 알 수 있게 작성
값(Value)
값(value)은 식(표현식)이 평가되어 생성된 결과를 말한다.
평가란 식을 해석해서 값을 생성하거나 참조하는 것을 말한다.
var sum = 20 + 30 // 20 + 30이 평가되어 숫자 값 50을 생성
리터럴(Literal)
리터럴은 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법을 말한다.
이해할 수 있는 문자(아라비아 숫자, 알파벳 한글 등)
미리 약속된 기호("", ., [], {}, // 등)
리터럴은 평가되어 값을 생성한다.
표현식(Expression)
표현식은 값으로 평가될 수 있는 문(statement)이다. 즉, 표현식이 평가되면 새로운 값을 생성하거나 기존값을 참조한다.
리터럴도 표현식의 일종이라고 할 수 있다.
Comment: 표현식이 리터럴의 상위 개념이다.
문(Statement)
세미콜론과 세미콜론 자동 삽입 기능
세미콜론(;)은 문의 종료를 나타낸다. 자바스크립트 엔진은 세미콜론으로 문이 종료한 위치를 파악하고 순차적으로 하나씩 문을 실행한다. 즉 문을 끝낼 때는 세미콜론을 붙여야 한다.
단, 0개 이상의 문을 중괄호로 묶은 코드 블록({…}) 뒤에는 세미콜론을 붙이지 않는다. (if, for, 함수 등)
->블록이 문의 종료를 의미하기 때문
자바스크립트 엔진의 세미콜론 자동 삽입 기능(ASI, automatic semicolon insertion) 덕분에 세미콜론은 생략이 가능하다.
표현식인 문과 표현식이 아닌 문
표현식은 문의 일부일 수도 있고, 자체로 문이 될 수도 있다.
문에는 표현식인 문과 표현식이 아닌 문이 있다.
->변수 선언문은 값으로 평가될 수 없으므로 문이다.
->할당문은 값으로 평가될 수 있으므로 표현식인 문이다.
표현식인 문과 표현식이 아닌 문을 구별하는 가장 간단하고 명료한 방법은 변수에 할당해 보는 것이다.
완료값