본문 바로가기

Language/JavaScript

자바스크립트 변수

자바스크립트에서 변수선언은 다른 언어와 다른 특징이 존재한다.

여기에 자바스크립트만이 가지는 변수 타입의 특징을 정리해 보자.


1. 변수 선언 방식

자바스크립트에서 변수는 var 키워드를 사용하여 선언한다.

C언어에서는 자료형에따라 int, float, char 형 등으로 변수를 선언하지만, js에서는 var 키워드 하나로 모두 통일한다. 다른 언어와 마찬가지로 선언과 동시에 초기화 할 수 있다.

var x;

var y = 10; // 정수

var a = 10, b = 20, c = 30;

var floatValue = 1.2; // 실수

var flag = true; // bool

var myString = "Hello World!";  // string


2. 유효 범위

자바스크립트의 변수는 함수 범위(function scope)를 따른다.

함수 외부에서 선언하면 전역 범위를 갖게 되며, 어느 곳에서나 변수에 접근할 수 있다. 

var scope = "global"; // 전역 변수 선언

function printScope(){

var scope = "local"; // 지역변수 선언

console.log(scope);

}

printScope(); // local 출력

자바스크립트에선 변수선언시 var 키워드를 붙이이 않아도 변수를 선언할 수 있다. 그러나 주의해야 할 점은 var 키워드를 생략할 시엔 자동적으로 전역변수로 할당이 된다는 것이다.

functon printScope(){

scope = "local";

}

var scope = "global";

console.log(scope);    // global 출력

printScope();

console.log(scope);    // local 출력


3. 블록 범위

자바스크립트에서는 변수 블록범위를 지원하지 않는다.

for(var i=0; i<10; i++){

console.log(i);

}

console.log(i);    // 10 출력