변수 출력

 document.getElementById("demo").innerHTML="";
 document.write("");
 window.alert("");
 console.log("");

변수

이름규칙

  • 이름에는 문자(영문),숫자,언더라인(_),달러기호($)이 사용될 수 있다.
  • 이름은 반드시 문자(영문)으로 시작하여야 한다.
  • 이름은 달러기호($)와 언더라인(_)으로 시작할 수도 있다.
  • 라이브러리의 주기능에 대한 별칭으로 ($)가 사용되는 경우가 많음
  • 비공개(숨겨진) 변수에 대한 별칭으로 (_)가 사용되는 경우가 많음
  • 이름은 대소문자를 구분해야 한다. (y와 Y는 서로 다른 변수이름)
  • 예약어(javascript에서 사용하기 위해 미리 지정된 이름)는 변수이름으로 사용될 수 없다.

선언방식

var carName;
carName = "sport car"; //hoist라고 부르며 var만 이 방식으로 선언가능
var carName = "sport car";
var carName = "sport car", carColor = "red", carPrice = "10000";

var

중복선언 시 값이 유실되지 않음

 <script>
   var carName = "Volvo";
   var carName;
   document.getElementById("demo").innerHTML = carName;
 </script>

let

  • let은 ES6(2015)에 처음 소개되었다.
  • let은 재정의 될 수 없다.
  • let은 사용전 반드시 값이 할당되어야 한다.
  • let은 블록변수(block scope)로 사용될 수 있다
  • 재정의 될 수 없다
 let x = "John Doe";
 let x = 0;
 // SyntaxError: 'x' has already been declared

블록변수(block scope)로 사용 될 수 있다

  • {} 내에서 정의 된 let은 밖에서 접근할 수 없다.
{
  let x = 2;
}
// x can NOT be used here
console.log(x);
  • 지역변수로 사용할 수 있는 기초
  • var같은 경우는 scope 밖에서 변수가 재정의 되거나 변경될 수 있다.
  • 이미 선언된 let를 var로 재정의 하거나, var를 let으로 재정의 하는것이 불가능

const

  • const는 ES6(2015)에 처음 소개되었다.
  • const는 재정의 되지 않는다.
  • const는 값이 재할당 되지 않는다.
  • const는 블록변수(block scope)를 가지고 있다.
  • Array(배열) Object(객체) Function(함수) RegExp(정규표현식)
  • 변수가 아니기 때문에 고정된 값을 할당합니다.
  • 위와같은 객체형 변수를 할당할 경우 객체참조(주소)를 고정값으로 가지고 있고. 객체 자체에 접근하여 변수를 수정할수 있습니다.