var userId =1 ;
var useName = 'lee'; // 변수는 하나의 값을 저장하기 위한 수단이다
var user = {id:1, name:'lee'}; //객체나 배열 같은 자료구조를 사용하면 여러 개의 값을 하나로 그룹화해서 하나의 값으로 사용가능
var user = [
{id:1, name:'lee'},
{idL2, name:'kim'}
];
var result = 10+20; // result = 변수 이름 , 30= 변수값
// 변수이름을 식별자라고도 한다 . 식별자는 어떤 값을 구별해서 식별할 수 있는 고유한 이름을 말한다.
//식별자는 값이 아니라 메로리 주소를 기억하고 있다. 식별자로 값을 구별해서 식별한다는 것은 식별자가 기억하고 있는 메모리 주소를 통해 메모리 공간에 저장된 값에 접근할수 있다는 의미이다.
var 식별자 = ["변수","함수","클래스"];
//변수를 사용하려면 반드시 var, let , const 키워드를 사용한다. (let, const 는 Es6부터 도입)
//var 은 호이스팅 되기 떄문에 사용권장낮음
var score; // 변수 선언에 의해서 확보된 메모리공간은 빈 공간이 아닌 undefined이리는 값이 암묵적으로 할당됨.
//var 키워드를 사용한 변수 선언은 선언 단계와 동시에 초기화 단계가 동시에 진행된다.var score;는 선언단계를 통해 변수이름 score를 등록하고, 초기화 단계를 통해 score변수에 암묵적으로 undefined를 할당해 초기화 한다.
console.log(score2); //undefined
var score2; //변수 선언문
var score = 80; //변수 선언과 값을 동시에 할당
console.log(score3); //undefined
var score3; // 변수선언
score3 = 80; // 값의 할당
console.log(score3); //80
console.log(score5); // undefined
score5 = 80 ; //값의 할당
var score5; //변수선언
console.log(score5);// 80
var score = 80; // 변수선언과 값의 할당
score = 90; //값이 재할당됨
만약 값을 재할당할 수 없어서 변수에 저장된 저장된 값을 변경 할 수없다면 변수가 아니라 상수라고 한다.
const 키워드를 사용하면 재할당이 금지됨.
식별자 네이밍 규칙
var percon, $elem, _name, first_name, varl1; //앏파벳외 일본어 한국어 사용가능 한자는 사용불가능
var firstname;
var firstName;
var FIRSTNAME; // 자바스크립트는 대소문자를 구별하므로 다음변수는 각각 별개의 변수다.
var x =3; //변수가 의미하는 바를 알 수 없다.
var score = 100; //score는 변수의 점수를 의미한다.
카멜케이스(camelCase)
var firstName;
스네이크메이스 (snake_cass)
var first_name;
피스칼케이스 (PascalCase)
var FirstName;
헝가리언케잇 (typeHunarianCase)
var strFirstName; //type + identfier
var = fromEvent(document, 'click') // RxJs옵저버블