front-end/JavaScript

javascript 변수(var, let, const 차이점)

Hoon0211 2023. 8. 8. 21:51
728x90

1. java와 javascript의 차이점

  • Java
    • int age = 20;
    • char alpha = 'a';
    • double avg = 78.4;
    • 강력한 자료형
       
  • javascript
    • var age = 20;
    • var alpha = 'a';
    • avg = 35.5;

 

 

 

2. var / let / const 차이점

 

- Var

  • 변수 재선언이 가능하다.
  • 변수 재할당이 가능하다.
  • 호이스팅시 변수값이 초기화 된다.
  • 전역 범위를 가지고 있다.
    • 단 함수 내에서 선언시 함수 범위로 지정이 된다.
var a = 1;
var a = 2; //가능

var b = 1;
b = 2; //가능

// 함수 범위 내에서만 사용 가능
function helloFunction() {
	var hello = "hello";
}    
console.log(hello); // 에러 발생

 

 

- Let

  • 변수 재선언이 불가능하다
  • 변수 재할당이 가능하다
  • 호이스팅시 변수가 초기화 되지 않는다.
    • 단 선언 이전에 사용시 참조 오류가 발생한다.
       
  • 블록 범위를 가지고 있다.
let a = 1;
let a = 2; // 불가능

let b = 1;
b = 2; // 가능

// 블록 범위를 가지는 let
let hi = "Hi";
    if (true) {
        let hi = "Hello";
        console.log(hi); // "Hello"
    }
console.log(hi); // "Hi"

 

 

- Const

  • 변수 재선언이 불가능하다.
  • 변수 재할당이 불가능하다
    • 단 객체의 속성은 업데이트가 가능하다.
       
  • 호이스팅시 변수가 초기화 되지 않는다.
  • 블록 범위를 가지고 있다.
const a = 1;
const a = 2; // 불가능

const b = 1
b = 2 // 불가능

// 속성의 업데이트는 가능하다.
 const hi = {
	message : "Hi",
	number : "five" 
	}
    
hi.message = "Hello"; // 가능하다.
728x90