본문 바로가기

웹 퍼블리셔 기록/javascript

[코딩 공부일지] 변수 var / let / const 차이점 간단 정리

휴.. 요즘 체력을 키우려 헬스를 빡시게 했더니

거의 2주간 앓아 누웠다가 다시 공부시작합니당

 

오늘은 변수 공부한 것 정리하려 해요!

 

 

각 변수들의 특징

 

  01. var  

 

var : 재선언 가능

var 이름 = 'kim';
console.log(이름) //kim

var 이름 = 'park';
console.log(이름) //park

 

var : 재할당 가능

 

var 이름 = 'kim';
console.log(이름) //kim

이름 = 'park';
console.log(이름) //park

 

var : 존재 범위는 function

 

function 함수(){
	var 이름 = 'kim'
    console.log(이름) //kim
}

console.log(이름) //undefined 출력

 


 

  02. let  

 

let : 재선언 불가능

 

let 이름 = 'kim'
console.log(이름) //kim

let 이름 = 'park'
console.log(이름) // 오류발생!!!!

let : 재할당 가능

 

let 이름 = 'kim';
console.log(이름) // kim

이름 = 'park'
console.log(이름) // park

 

const, let : 존재 범위는 모든 중괄호 {}

 

**let의 예시

 

if(true){
    let 이름 = 'Park'
    console.log(이름) //Park
}

console.log(이름) //error

for(let v = 1; ){
    //v는 for 안에서만 존재함
}

 


 

  03. const  

 

const : 재선언 불가능

 

const 이름 = 'kim'
console.log(이름) //kim

const 이름 = 'park'
console.log(이름) // 오류발생!!!

 

const : 재할당 불가능

 

const 이름 = 'kim';
console.log(이름) // kim

이름 = 'park'
console.log(이름) //오류발생!!!

 

*** const 참고

const 로 오브젝트를 만들었을때,

오브젝트 내부 값 변경해도 에러나지 않음!!(내부 값 변경은 자유!!)

 

const 변수 자체를 재할당 한 것이 아니라 변수 내부 값을 변경했을 뿐이기 때문~!

const 사람 = {이름 : 'kim'}
사람.이름 = 'park'

 

만약 수정 불가능한 오브젝트를 만들고 싶다면??

 

Object.freeze(사람); 

 

위 문법 사용

 

"사람이라는 오브젝트를 수정 불가능하게 freeze 해주세요~" 라는 뜻

 

 

 

 

 

 

 

const, let : 존재 범위는 모든 중괄호 {}

 

**const 의 예시

 

if(true){
    const 이름 = 'Park'
    console.log(이름) //Park
}

console.log(이름) //error

 

 

오늘은 여기까지..!!

 


 

 

 

현재 코딩 공부일지는 코딩애플 강의를 들으며

 

공부하는 내용을 작성한 것입니다!

코딩애플 흥해랏