EverGiver

변수 본문

Front-End (웹)/자바스크립트

변수

친절한개발초보자 2022. 1. 14. 23:09
728x90
변수란

 

  • 변수 (variable)
    - 프로그램을 실행하는 동안 값이 여러 번 달라질 수 있는 데이터
  • 상수 (constant)
    - 값을 한번 지정하면 바뀌지 않는 데이터

 

변수 선언의 규칙

 

  • 변수 선언
    - 변수를 사용하기 위해 변수를 구별할 수 있도록 이름을 붙이는 과정
  • 지켜야 할 규칙
    1. 변수 이름은 영어 문자와 언더스코어(_), 숫자를 사용한다.
       - 변수 이름의 첫 글자는 영어 대소 문자나 언더스코어(_)만 쓸 수 있으며, 숫자나 기호, 띄어쓰기는 허용하지 않는다.
    2. 영어 대소 문자를 구별하며 예약어는 변수 이름으로 쓸 수 없다.
    3. 여러 단어를 연결할 변수 이름은 중간에 대문자를 섞어 쓴다.
       - 낙타 표기법(camel case)라고 한다.
    4. 변수 이름은 의미 있게 작성해야 한다.

 

변수 선언하기

 

  • 변수 선언은 var이라는 예약어 뒤에 변수 이름을 적으면 된다.
    var 변수명​
  • 변수를 선언했으면 '=' 기호를 사용해서 변수에 값을 저장할 수 있다. 이것을 값 할당이라고 한다.
    (값 할당은 변수를 선언한 후에 따로 할 수도 있고, 변수를 선언하면서 동시에 할 수도 있다.)

 

변수의 적용 범위 스코프 알아보기

 

  • 스코프 (scope)
    - 자바스크립트에서 변수를 선언하고 사용할 때 변수가 적용되는 범위
  • 지역 변수 / 로컬 변수(local variable)
    - 한 함수 안에서만 사용할 수 있는 변수
    - 지역 변수를 선언하려면 예약어 var와 함께 변수 이름을 지정해야 한다.
  • 전역 변수 / 글로벌 변수 (global variable)
    - 스크립트 소스 전체에서 사용할 수 있는 변수
    - 적용 범위를 제한하지 않고 쓸 수 있다.
      (지역 변수와 달리 스크립트 소스 코드 전체에서 사용할 수 있다.)
    - 함수 밖에서 선언하거나 함수 안에서는 var 예약어를 빼고 선언해야 한다.
    - 함수 안에서 선언한 변수라 하더라도 var 예약어를 사용하지 않으면 전역 변수가 된다.

 

var을 사용한 변수의 특징

 

  • 자바스크립트에서 변수를 사용할 때 조심해야 할 개념이 있다. 바로 호이스팅(hoisting)이다.
  • 호이스팅이란 '끌어올린다'를 뜻하며, 상황에 따라 변수의 선언과 할당을 분리해서 선언 부분을 스코프의 가장 위쪽으로 끌어올리는 것이다.
    (끌어올린다고 해서 실제로 소스 코드를 끌어올리는 것이 아니라 소스를 그런 식으로 해석하다는 의미이다.)
  • 변수의 재선언과 재할당
    - var를 사용한 변수는 재선언과 재할당을 할 수 있다.
    <script>		
    	function addNumber(num1, num2) { 								
    		return num1 + num2;		// 2개의 수 더하기				
    	}
        var sum = addNumber(10, 20);  // sum 변수 선언, 함수 호출
        console.log(sum);
        sum = 50;   // sum 변수 재할당
        console.log(sum);
        var sum = 100;  // sum 변수 재선언
        console.log(sum);
      </script>

 

let을 사용한 변수의 특징

 

  • ES6에서는 변수를 선언하기 위한 예약어로 let과 const가 추가되었고, 되도록이면 var 예약어는 사용하지 않을 것을 권장한다.
  • 예약어 var와 let, const의 가장 큰 차이는 스코프의 범위이다.
    - var는 함수 영역(레벨)의 스코프
    - let와 const는 블록 영역의 스코프
  • 블록 안에서만 쓸 수 있는 변수
    - let 예약어로 선언한 변수는 변수를 선언한 블록({ }로 묶은 부분)에서만 유효하고 블록을 벗어나면 사용할 수 없다.
    - 만약 전역 변수를 선언하고 싶다면 let 예약어를 쓰지 않고 변수 이름과 초깃값만 할당하면 된다.
  • 재할당은 가능하지만 재선언은 할 수 없는 변수
    - let 예약어를 사용하여 선언한 변수는 값을 재할당할 수는 있지만 변수를 재선언할 수는 없다.
  • 호이스팅이 없는 변수
    - let 예약어를 사용한 변수는 선언하기 전에 사용할 경우 오류 메시지를 나타낸다.

 

const를 사용한 변수의 특징

 

  • const로 선언한 변수는 상수 변수 (constant variable)이다.
    - 상수는 변하지 않는 값을 의미
  • const로 할당한 변수는 재선언하거나 재할당할 수 없으며, let 예약어를 사용한 변수처럼 블록 레벨의 스코프를 가진다.

 

자바스크립트 변수 사용

 

  • 전역 변수는 최소한으로 사용한다.
  • var 변수는 함수의 시작 부분에서 선언한다.
  • for 문에서 카운터 변수를 사용할 때는 var 예약어를 사용하지 않는다.
  • ES6를 사용한다면 예약어 var보다 let를 사용하는 것이 좋다.
728x90

'Front-End (웹) > 자바스크립트' 카테고리의 다른 글

조건문  (0) 2022.01.20
연산자  (0) 2022.01.16
자료형  (0) 2022.01.16
자바스크립트 용어와 기본 입출력 방법  (0) 2022.01.13
웹 브라우저랑 자바스크립트  (0) 2022.01.13
Comments