본문 바로가기

Javascript

자바스크립트 기초(변수)

 

1. 변수와 자료형

 

Variable(변수) : 프로그램에서 자료를 저장할 수 있는 이름이 주어진 기억장소

 

DataType(자료형) : 컴퓨터가 처리할 수 있는 자료의 형태를 자료형이라고 한다.

ex) 10, -15 : 숫자, 안녕하세요 : 문자

 

자바스크립트의 기본 타입은 크게 원시 타입과 객체 타입으로 구분할 수 있다.

 

1) 숫자(number): 숫자형으로 정수와 부동 소수점, 무한대 및 NaN(숫자가 아님)등

2) 문자열(string): 문자열

3) 불리언(boolean): true, false

4) 심볼(symbol) : 심볼은 변경 불가능한 원시 타입의 값이며, 다른 값과 중복되지 않는 고유한 값이다.

ECMAScript 6부터 제공됨

5) undefined: 값을 할당하지 않은 변수가 가지는 값

6) 널(null): 빈 값을 표현

 

객체 타입(object type)은 다음과 같다.

 

7) 객체(object)

 

예제

var num = 10; // 숫자

var myName = "홍길동"; // 문자열

var str; // undefined

 

2. 변수 선언

  • 변수이름은 대소문자를 구별
  • 여러 변수를 한번에 선언할 수 있음
  • 지역변수와 전역변수가 있음
  • 기본적으로 소문자로 시작되는 Camel Case 를 사용
var firstNumber;

firstNumber = 10;

var, let, const

ES6 이전에는 var 만 존재했으며 function-scoped 로 인해 다른 언어들과 다른 문제가 있었음

  • var는 지역변수 개념으로 함수 범위에서 유효함
  • var를 선언하지 않으면 자동으로 전역변수가 됨
  • let과 const 는 ES6 에서 등장한 block-scoped 변수 선언
  • let은 값의 재할당이 가능하고(mutable) const는 불가능(immutable)
  • const로 선언된 배열이나 객체의 경우 새로운 객체로 재할당하는 것은 안되고, 배열값의 변경/추가, 객체의 필드 변경등은 가능

 

다음은 var를 이용한 변수선언 예이다.

var foo = 'foo1';
console.log(foo); // foo1
 
if (true) {
  var foo = 'foo2';
  console.log(foo); // foo2
}

console.log(foo); // foo2

 

다음은 let과 const을 사용한 예이다.

let foo = 'foo1';
const bar = 'bar1';
console.log(foo); // foo1
 
if (true) {
  let foo = 'foo2';
  console.log(foo); // foo2
  console.log(bar); // bar1
}
 
console.log(foo); // foo1
bar = 'bar2'; // error