JAVA SCRIPT

자바스크립트 기본 문법!(변수) - Java Script

john_ 2022. 12. 15. 16:01
728x90

Var를 사용한 변수의 특징

스코프 : 변수가 사용되는 범위로, 스코프에 따라 지역변수와 전역변수로 나뉩니당..

 

지역변수

함수 안에서 선언하고 함수 안에서만 사용합니다.
var와 함께 변수이름을 지정합니다.
    function addNumber(){
      var sum = 10 + 20;    // 지역변수로 동작..function 안에서 var로 선언되었기ㄸ문
    }

    addNumber();
    console.log(sum);   //상단의 sum은 지역변수이기 때문에 함수밖에서 찾을수없다...
                        //따라서 에러가 뜹니당..

 

전역변수

스크립트 소스 전체에서 사용합니다.
함수 밖에서 선언하거나 함수 안에서 var 없이 선언합니다.
    function addNumber(){
      var sum = 10 + 20;    // 지역변수로 동작..function 안에서 var로 선언되었기ㄸ문
      multi = 10 * 20;    // var 없이 전역변수로 동작, function 밖에서도 기능을 합니다.
    }

    addNumber();
    console.log(multi);

 


호이스팅

변수를 뒤에서 선언하지만, 마치 앞에서 미리 선언한것 처럼 인식합니다.
함수 실행문을 앞에두고 선언을 뒤에서 해도 앞으로 끌어올려 인식합니다.
var x = 10;

fuction displayNumber(){
	console.log("x is " + x);
    cossole.log("y is " + y);
    var y = 20;
}
displayNumber();

이렇게도 사용이 가능합니다!

 


 

재선언과 재할당이 가능합니다.

  • 재선언 : 이미 선언한 변수를 다시 선언할수 있습니다.
  • 재할당 : 같은 변수에 다른 값을 할당 할 수 있습니다.

→ 재선언과 재할당이 가능해지면 실수로 변수를 잘못 조작할수가 있습니다.

 

 


let을 사용한 변수의 특징

  • 블록 변수 - 블록({ }) 안에서만 사용가능.
function calcSum(n){
	sum = 0;
    for(let i = 1; i < n + 1; i++) {
    	sum += i;
    }
}
calcSum(10);
console.log(sum);
sum = 0은 전역변수,
let i = 1은 블록변수
  • 재할당은 가능하지만 재선언은 불가능.
  • 호이스팅이 없습니다.

const를 사용한 변수의 특징

상수 - 변하지 않는 값을 선언할때 사용합니다.
재선언, 재할당이 불가능합니다.
    const currentYear = 2022;
    console.log(currentYear);
    const currentYear;    // 에러발생, 상수는 재선언이 불가능합니당..

재선언 불가!

    const currentYear = 2022;
    console.log(currentYear);
    currentYear = 2044;   //에러발생. const에 의해 상수가 된 값은 재할당 할수 없습니다.
    console.log(currentYear);

재할당도 불가!

 


종합)
전역 변수는 최소한으로 사용해야합니다.         <- 메모리를 적게 사용하자.
var 변수는 함수의 시작 부분에서 선언합니다.  <- 변수가 먼저 선언이 되어야..
for 문에서 카운터 변수를 사용할 때는 var 예약어를 사용하지 않습니다.
ES6를 사용 한다면 예약어 var 보다 let을 사용하는 것이 좋습니다.
ES : ECMAScript의 약자, 6: 버전6
ES : 프로그래밍 언어가 아닌 스크립트 언어들에 대한 표준, 규격
728x90