-
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 없이 코딩 어떻게해요....;
'TodayILearned > node.js' 카테고리의 다른 글
블로킹과 논블로킹 그리고 스레드의 관계(2) (0) 2020.10.30 블로킹과 논블로킹 그리고 스레드의 관계(1) (0) 2020.10.28 async, await 의 개념(1) (0) 2020.10.11