본문 바로가기

JAVASCRIPT

변수(variable)

변수(variable)

값에 이름을 할당하여 다시 사용할 수 있는 기능이며, 블록 스코프를 갖고 있습니다.

  • let : 이미 값이 대입되어 있는 변수에 다른 값을 대입할 수 있습니다. 
  • const : 재대입이 불가능한 변수를 선언시 사용합니다.
  • var : 값을 다시 대입할 수 있는 변수이며, 함수스코프를 갖음으며 재선언을 허용합니다.
// 블록 안에서 선언된 변수는 외부에서 접근 할 수 없음
if (false) {
    let a = 0;
} 
console.log(a) // ReferenceError: a is not defined

for (let i = 0; i < 10; i++) {
  console.log(i);
}
console.log(i); // ReferenceError: i is not defined

let

// 선언 및 대입
let a = 1;

 

const

// 선언 및 대입
const a = 1;

var

// 선언 및 대입
var a = 1;

// 함수스코프
function a() {
    var b = 1;
}
a();
console.log(b); // ReferenceError: b is not defined

// 재선언 허용
var foo = 1;
var foo = 1;

변수 특성 정리표

전역 변수 (Global Variable)

스코프 체인의 가장 바깥쪽에 있는 스코프이며, let, const, var 붙이지 않고 변수 선언하면 전역 변수 생성

전역변수 사용시 주의 사항은 하단에 나열하였습니다.

  • 전역 변수에는 아무런 제한 없이 접근할 수 있으므로, 프로그램의 크기가 커짐에 따라 변수의 값이 어디서 어떻게 변경될지 예측하기 어려움
  • 전역 변수를 통해 너무 많은 부분이 결합이 됨
  • 코드가 다른 곳에 위치하여, 전역 변수를 사용한 코드는 이해하기 어려움
// 전역 스코프에 선언
let a; 

// 블록 스코프에 선언
if (true) {
    let b; 
} 

// 전역 변수 생성
function a () {
    variable = 1;
}

a();
console.log(variavle); // 1

 

전역 객체 (Global Object)

JavaScript 구동 환경은 모두 전역 객체(Global Object)라는 특별한 객체를 갖고 있음.
전역 변수가 선언되면, 이 변수는 또한 전역 객체의 속성이 되어 전역 객체를 통해서도 접근가능
구동 환경에서 유용하게 쓸 수 있는 속성과 함수가 미리 적재되어 있음

let a = 1;
window.a; // 1


식별자

하단에 있는 변수의 이름은 모두 식별자 입니다.

  • 숫자, 알파벳, $, _ 사용 가능
  • 숫자로 시작은 불가능
  • 예약어는 식별자 불가능
const foo // 0
const _bar123; //0
const $; //0
const 7; // x
const const; //x

Camel Case

식별자 이름을 지을 때 식별자에 들어가는 각 단어의 첫 글자를 대문자로 써 주는 방식

let fooBar;

Snake Case

식별자 이름을 지을 때 식별자에 들어가는 단어 사이에 언더스코어를 사용합니다. 자바스크립트에서는 잘 사용되지 않음

let foo_bar;

'JAVASCRIPT' 카테고리의 다른 글

함수  (0) 2019.07.22
null과 undefined  (0) 2019.07.19
boolean 타입  (0) 2019.07.18
string 타입  (0) 2019.03.20
number 타입  (0) 2019.03.19