변수

자바스크립트는 변수 타입이 고정되어 있지 않다. 변수에는 어떤 타입의 값이라도 담을 수 있다.

  • 변수의 선언은 var 키워드를 사용한다.
  • var 로 선언된 변수는 영구적으로 사용할 수 있다.
  • 같은 이름을 여러 번 선언해도 무방하다. (대입과 같이 처리된다.)
  • 선언되지 않은 변수를 읽으려하면 에러가 발생한다.
  • 선언되지 않은 변수에 값을 할당하려 하면 암묵적으로 변수가 선언된다.
  • 암묵적으로 선언된 변수는 전역 변수로 선언된다.
  • 함수내에서 선언된 변수는 정의된 위치와 관계 없이 함수 내 유효 범위를 가진다.
  • 자바스크립트는 가비지컬렉션을 사용한다.
선언되지 않은 변수 vs. 할당되지 않은 변수
var x;    // 할당되지 않은 변수 선언. 현재 값은 undefined 이다.
alert(u);  // 선언되지 않은 변수 사용. 에러가 발생한다.
u=3;      // 선언되지 않음 변수 사용. 할당하는 순간 전역 변수가 생성된다.

기본 타입과 참조 타입
기본 타입: 숫자, boolean, null, undefined, 스트링(스트링은 참조 타입처럼 보이지만 기본 타입으로 동작한다. immutable)
참조 타입: 배열, 함수, 객체

기본 타입의 동작
var a = 3.14;
var b = a;
a = 4;
alert(b); // 3.14가 출력된다.

참조 타입 동작
var a = [1, 2, 3];
var b = a;
a[0] = 99;
alert(b);   // [99, 2, 3] 출력된다. 



Posted by 빨간 양말