const : 상수를 만드는 것 | 실제 예시 |
바뀌거나 대체되지 않았으면 하는 값들을 만들 때 쓰임. | const id = "ddeok" cosnt password = "0105" |
만약 변수를 바꾸려고 시도한다면... | ➞ password = "1234" Console창 : TypeError... |
Javascript 에서 var를 먼저 사용하고 있었다.
2015년에 Javascript ES2015(ES6)로 업그레이드 되면서 기존에 var의 이슈를 보완 하면서 나온 것이 let 이다.
기존에 사용했던 var의 문제점을 아래서 다뤄 보겠다.
<알아야할 개념 - 호이스팅>
js 엔진은 선언해둔 변수를 미리미리 조사해 놓는다. (따로 뽑아 가서 기억을 한다)
나중에 a를 선언할 때 그 변수를 최상단으로 올리는 것을 일컷는다.
1. 모든 코드는 Top to Bottom 플로우로 흘러가지만 var는 예외가 많다.
기본적으로 변수 선언을 먼저 하고 결과값을 도출한다.
var a = 1 var name = "ddeok" var age = 20 console.log(age) |
하지만 먼저 선언 되어야 하는 변수 전에 console.log가 먼저 나오면...
(1) console.log(a) var a = 1 console.log(a) |
Console창에는 ➞ undefined (?) 1 |
여기서 ➞ undefined 이 에러 대신 나오는 이유는 호이스팅 개념 때문이다.
호이스팅 시 변수의 선언과 (undefined 으로)초기화를 같이 시켜 버리기 때문이다.
다시 말해, 호이스팅은 위 설명처럼 자바스크립트 엔진이 사전에 작성 해둔 변수를 모두 기록하는 '습성' 때문에 (1) console.log(a)를 에러로 버리지 않고 가지고 있다가 a 변수가 나오면 그재서야 할당 하는 것이다.
만약 선언(var,const,let)을 하지 않는다면...
console.log(a) a = 1 // 선언하지도 않음 var a // 뒤 늦게서야 따로 선언 함 console.log(a) |
Console창에는 ➞ undefined (?) 1 |
모든 것을 용서 해주는 자바스크립트, 일단 변수 가지고 있는다.
2. var는 전역변수와 지역별수의 개념이 확실하지 않다.
<알아야할 개념 - 전역변수>
블락{} 밖에서 선언을 한 어디서든 쓰일 수 있는 변수이다.
<알아야할 개념 - 지역변수>
블락{} 안에서 선언된 변수이며, 블락 안에서만 쓸 수 있다.
반응형
'JS' 카테고리의 다른 글
[Javascript] for loop (for문) (0) | 2023.04.07 |
---|---|
[Javascript] if 문 (feat. stitch문, 삼항연산식) (0) | 2023.03.30 |
[Javascript] 자료형_object 객체 데이터 자세히 보기 (0) | 2023.03.26 |
[Javascript] 자료형_array 배열 자세히 보기 (0) | 2023.03.24 |
[Javascript] 연산자 종류, 예시, 우선순위 (0) | 2023.03.21 |