티스토리 뷰

1. 변수


변수란 직역을 하면 변하는 수라는 뜻인데 프로그래밍에서는 데이터(data)를 저장하기 위해 프로그램에 의해 이름을 할당 받은 메모리 공간을 의미합니다. 즉, 데이터를 저장할수 있는 메모리 공간을 의미하며, 이렇게 저장된 값은 변경될 수 있습니다.

 

javascript에서는 변수를 할당하기 위한 키워드는 다음과 같습니다.

  • var
  • let 
  • const

 

먼저 let과 const는 ES6(ECMAScript6)부터 등장하였으며 두 변수는  선언된 블록 내에서만 스코프가 유효합니다.

var는 ES6(ECMAScript6) 이전의 변수 선언 방식으로 let과 동일한 용도로 사용되지만 var는 let의 블록단위 스코프와 다르게 함수 단위의 스코프를 갖습니다. 또한, var는 선언하기전에 사용 할 수 있지만 let과 const는 선언하기전에 사용하면 error가 발생합니다.

 

 

스코프(Scope)란 범위라는 뜻을 가지며 변수에 접근할수 있는 범위를 나타냅니다. 따라서 var로 변수를 선언하면 해당 함수 내에서 해당 변수에 접근이 가능하고 let으로 선언한 변수는 if, for, while, try-catch, 함수문등과 같은 블럭 단위에서만 접근이 가능합니다.

 

 

const는 constant의 약자로 한번 선언된 상수는 변수 재선언 및 재 할당이 불가능하다는 특징을 갖습니다.

const name = 'atoz'
console.log(name); //atoz

const name = 'javascript' //Uncaught SyntaxError: Identifier 'name' has already been declared
name = 'javascript' //Uncaught TypeError: Assignment to constant variable.

변수 선언에는 기본적으로 const를 사용하고, 재할당이 필요한 경우에 한정하여 let을 사용하는 것이 불필요한 오류를 줄이는데 좋습니다.

 

2. 변수의 생성과정


변수의 생성과정은 3단계로 나뉘게 되는데 각 변수type마다 단계마다 차이점을 가지고 있습니다.

 

var 

1. 선언 및 초기화 단계

2. 할당 단계

 

let

1. 선언 단계

2. 초기화 단계

3. 할당 단계

 

const

1. 선언 + 초기화 + 할당 단계

 

* let은 호이스팅이 되지 않는 것이 아니라 호이스팅되면서 선언단계가 이루어 지지만 실제 코드가 실행되어야 undefined로 초기화 되기 때문에 선언하기전에 사용하면 reference Error가 발생한다.

* 초기화 : undefined를 할당해 주는 단계.

* const는 값을 변경할 수 없기때문에 선언하면서 할당을 하지 않으면 에러가 발생한다.

 

3. 자료형(Data Type)


 

  • 기본 타입(Primitive Value)
    • Number(숫자형)
    • String(문자열)
    • Boolean(참/거짓)
    • Null(값이 없음)
    • Undefined(정의되지 않음)
    • Symbol(ES6)
  •  객체(Object)

숫자 (Number)

직접 숫자를 대입하여 선언

let number = 1;
console.log(number); //1

 

문자열 (String)

텍스트 형태의 값은 작은 따옴표 혹은 큰 따옴표로 감싸서 선언

let string= 'hello';
console.log(string); //'hello'

 

참/거짓 (Boolean)

참(true) 혹은 거짓(false) 으로 이루어진 값

let isTrue = true;
let isFalse = false;

console.log(isTrue);  //true
console.log(isFalse); //false

Null

값이 없음을 의미

let value = null;
console.log(value);

 

Undefined

아직 값을 할당되지 않음을 의미

let value;

console.log(value); //undefined

 

댓글