Javascript | const, let 과 var

Lee yeonseong·2020년 11월 1일
0
post-thumbnail

Javscript에서 var, let, const의 차이점에 대해 알아보자.

우선 var는 변수 선언 방식에있어 큰 단점을 가지고 있다.

	var name = "Hi, Wecode"
    console.log(name) // Hi, Wecode

	var name = "Javascript"
    console.log(name) // Javascript

변수를 한 번 더 선언했음에도 불구하고, 에러가 나오지 않고 각기 다른 값이 출략되는 것을 볼 수 있다.

이럴경우, 코드량이 많아 진다면 어디에서 어떻게 사용될지도 파악하기 힘들뿐더러 값이 바뀔 우려가 있다.

그래서 ES6 이후, 이를 보완하기 위해 추가 된 변수 선언 방식이 letconst이다.

	let name = 'Hi, Wecode'
    console.log(name) // Hi, Wecode

    let name = 'javascript'
    console.log(name) 
    // Uncaught SyntaxError: Identifier 'name' has already been declared

name이 이미 선언 되었다는 에러 메세지가 나온다 / const도 마찬가지

변수 재선언이 되진 않는다.

letconst 차이점

이 둘의 차이점은 immutable 여부이다.

let 은 변수에 재할당이 가능 하다.

	let name = 'Hi, Wecode'
    console.log(name) // Hi, Wecode

    let name = 'javascript'
    console.log(name) 
    // Uncaught SyntaxError: Identifier 'name' has already been declared

    name = 'react'
    console.log(name) //react

cosnt는 변수 재선언 , 변수 재할당 모두 불가능 하다.

	const name = 'Hi, Wecode'
    console.log(name) // Hi, Wecode

    const name = 'javascript'
    console.log(name) 
    // Uncaught SyntaxError: Identifier 'name' has already been declared

    name = 'react'
    console.log(name) 
    //Uncaught TypeError: Assignment to constant variable.

마치며

변수 선언에는 기본적으로 const를 사용하고, 재할당이 필요한 경우에 let을 사용하는 것이 좋다.

그리고 객체를 재할당하는 경우는 생각보다 흔하지 않다. cosnt를 사용하면 의도치 않은 재할당을 방해주기 때문에 안전하다.

profile
더 나은 개발자가 되자.

0개의 댓글