ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 변수
    Javascript 2020. 1. 2. 14:26

    변수 선언

    변수 선언은 var 키워드를 사용한다. 하나의 var 키워드에 여러 개의 변수를 선언할 수 있다. 또한 변수의 선언과 초기화를 함께 할 수 있다.

    1
    var i = 0, j = 0, k = 0;

    만일 변수의 초기화를 지정하지 않을 경우 변수 선언은 되지만, 값은 undefined이다.

     

    변수 선언의 반복과 생략

    var 구문으로 같은 이름의 변수를 여러 번 선언해도 무방하다. 만일 그 반복된 선언에 변수 초기화 구문이 함께 있을 경우 그 변수에 값을 할당하는 구문과 동일하게 작동한다. 그리고 선언되지 않은 변수는 암묵적으로 그 변수를 전역 변수로 선언된다. 그 변수가 함수 안에 쓰인다 하더라도 마찬가지이다. 

     

    정의되지 않은 변수 vs 할당되지 않은 변수

    정의되지 않은 변수의 첫 번째 종류는 아직 선언된 적이 없는 변수인데 이 경우, 런타임 에러가 발생한다. 그러나 정의되지 않은 변수에 값을 할당할 때는 암묵적으로 전역 변수로 선언해준다. 두 번째 종류는 선언은 했지만 값이 할당되지 않은 경우다. 이 경우, undefined를 얻게 된다. 

     

    가비지 컬렉션

    동적으로 할당하는 참조 타입은 언젠가 반드시 해제하고 재활용 해야한다. C/C++과는 달리 가비지 컬렉션이라는 기술에 의존해 Heap 공간을 관리한다. 자바스크립트 인터프리터는 어떤 객체가 어느 시점부터 프로그램에서 쓰이지 않는지 알아챌 수 있다. 어떤 객체가 더이상 접근할 수 없다고 판명되면 해당 객체의 메모리를 회수한다. 

     

    let

    var와 다르게 변수 재선언 불가능이다. let과 const의 차이점은 변수의 immutable여부이다. let은 변수에 재할당이 가능하지만, const는 변수 재선언, 재할당 모두 불가능하다.

     

     

    출처

    자바_스크립트_완벽가이드

    'Javascript' 카테고리의 다른 글

    객체와 배열  (0) 2020.01.02
    문장  (0) 2020.01.02
    표현식과 연산자  (0) 2019.12.22
    타입, 값, 변수  (0) 2019.12.20
    어휘 구조  (0) 2019.12.20
Designed by Tistory.