ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • var,let,const 의 특징
    TodayILearned/node.js 2020. 10. 10. 22:12

    공부하면서 let이랑 const는 써봤어도(주로 const), var는 거의 못본것같은데..

    예전에 자바를 하려다가 한번 봤나..? 우리..구면이니..?

    자바는 예전에 잠깐 공부하다가 너무~~너무너무~~ 재미가 없어서... 한 한달정도 공부하고 그만 둔 기억이 난다...

    파이썬이나 자바스크립트, 노드는 재밌게했는데 자바로 시작했다면 나는 프로그래밍 공부를 안했을테지..

    TIL정리해둔 건 노션에 많은데, 과제니 야근, 운동을 우선적으로 챙기다보니 글올리는걸 미루게된다..어떡하냐고..

     

    낄낄...


     

    const

    상수 선언문이다.

    const로 선언된  값은 재할당(immutable)할 수 없다. 

    재선언도 할 수 없다.

    블록스코프이다.

    initializer가 필요함. 선언만으로는 상수를 생성할 수 없음.

     

     let

    let으로 선언된 값은 재할당 가능하다. 변수 선언문이다.

    let apple = "delicious";  //변수선언
    apple = "sour"; //재할당
    console.log(apple); //sour

    같은 변수를 재선언하면 에러발생함. (재선언은 안됨)

    let apple = "delicious";
    let apple = "sour";
    console.log(apple); //syntaxError

    블록스코프이다.

    global객체를 생성하지않는다.

    상위변수내의 하위변수에 영향을주지 않는다.

    let apple = "delicious";
    {
    	if (apple === "delicious") {
    		let apple = "expendsive"; //상위변수 apple과 다른 값(apple = expensive)
    		console.log(apple);
    	}
    	console.log(apple); //상위변수(apple = deliscious)
    }
    

    var

    초기 자바스크립트에서 변수선언을 위해 사용함.

    상위변수가 하위변수에 영향을 줌.

    변수 재선언 가능.

    let, const와 다르게 initialize를 안해도 선언 가능함.

    함수 내에서 var로 선언된 함수는 function scope이고, 선언되지않은 함수는 전역변수이다.(var_가_잘_안보이는_이유.txt)

    (아니 이거 엄청 이상하네;; 얘 뭐야..)

    function fruits() {
    	apple = "red"; //global scope
    	var banana = "yellow"; //function scope
    }
    fruits();
    console.log(apple);  //red
    console.log(banana); //ReferenceError
    

     

    MDN읽어보니, 공부할 때 왜 var가 잘 안보였는지 알 것 같다.

    let, const 없이 코딩 어떻게해요....;

     

     

Designed by Tistory.