일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 웹개발
- 배열 사례
- 알고리즘
- let const var 차이
- django로그인
- 웹프로그래밍
- 배열이란
- javascript
- js입력받기
- js
- doubly linked list
- 자료구조
- 입력받기
- python
- let const 차이
- 트리 시간복잡도
- 사용자입력
- 맥북 터미널 명령어
- 리눅스 기초 명령어
- 배열 예시
- mdn
- 시간복잡도
- 장고
- 자바스크립트
- djangoframework
- Django
- linked list 현실 사례
- singly linked list
- CLI 명령어
- djangoprogramming
- Today
- Total
용기러기's Coding World
javascript (6) - var, let, const 비교 본문
안녕하세요 :D
오늘은 공통적으로 변수를 선언(Declaration)하는 데에 쓰이는
var, let, const가
개별적으로 어떤 특징을 가지는지
비교하면서 알아보고자 합니다:D
먼저,
var 에 대해서 살펴보면,


위를 보시면,
변수명 mvp라는 변수에 '코비 브라이언트'라는 문자열을 할당(assignment)해준 것을 볼 수 있습니다:D
그런데,
한번 선언된 mvp 변수를
밑에서 또다시 써서 이번에는 '홍용기'라는 (제이름입니다..ㅎ)
문자열을 넣어줬는데요!
이렇게 이미 선언한 변수를 또다시 선언할 수 있게 해주는 것이 'var'의 특징입니다 :D
그러나, 이러한 특징은 코드가 길어졌을 경우
이미 선언했던 변수인지, 나중에 그러면
특정 변수명을 썼을 때 어떤 값이 출력될지 알 수 없는.. 혼동이 올 수 있습니다
그에 따라 나온 것이
let과 const 입니다 :D

위와 똑같이 쓰되
이번에는 let을 통해서 변수를 선언했는데요!

var의 경우와 달리
변수가 이미 선언되었다(has already been declared)라고 에러 메시지가 뜹니다(해보시면 const도 마찬가지로 에러가 뜹니다)
그렇다면!
let과 const의 차이는 무엇일까요??
둘은
mutable || immutable
즉, 변경가능한지, 변경불가능한지에 따라 구별된다고 할 수 있습니다 :D
먼저,
let을 보시면

이런식으로 변수에 할당된 값(목요일)을 수정할 수 있습니다(수요일로) => mutable(변할 수 있는)
그러나, 간단한 정보인 요일 정보와 달리
예를 들어,
웹사이트에서 가지고 있는
회원정보, 중요 회계 자료 등을
변수에 할당해서 쓴다고 할 때
구체적인 예시로,
금융감독원이 공개하는 공시정보를
개발자가 참조(reference)했다고 했을 때
let으로 변수가 선언되고, 할당되어 있다면??
실수로 개발자가 참조한 변수를 통째로 날리거나, 마음대로 수정한다면
실제로 금감원의 정보에도 그 수정사항이 반영되어
정보가 날아가게 될 수 있습니다
그러면 그럴 때는?
immutable(변경 불가능한)
한 const를 통해서 변수를 선언, 할당해줘야
참조한 쪽에서 마음대로 값을 수정할 수 없습니다

이를 보시면,
const로
importantInformation(중요 정보)라는 변수에
중요한 "공시정보" 문자열을 할당해두었습니다.
그런데, 공시정보를 참조해서 쓰던 제가(용기러기)
제 블로그의 방문자수 정보를 구경하다가
모르고 공시정보를 담아온 변수에 저의 정보를 할당해버렸습니다 ...

그러나,
다행히도 변수가 constant(변함없는) 변수이기에
저의 시도는 에러로 저지가 됐습니다..ㅎㅎ
정리해보면!
var은 옛날에 나온 선언 문법으로
간단하게 뭔가를 테스트해볼 때 쓰거나, 쓰지 않는 것이 좋고!
let과 const는 var의 단점 때문에 나온 문법으로
둘다 변수의 선언 문법이지만
let은 mutable하고, const는 immutable하기 때문에
let은 상대적으로 덜 중요한 정보를 담을 때 혹은 유동적인 정보(수시로 바꿔줘야하는 정보)를 담을 때 쓰면 좋을 것 같습니다
이에 반해, const는 중요한 정보 그리고 정적인, 즉, 한번 설정하면 고칠일이 없는 정보를 담을 때 쓰면 좋을 것 같습니다.
(*이 때, const 변수를 복사해서 고쳐서쓰는 것에는 문제가 없습니다 :D)
여기까지 var, let, const를 비교하며 특징을 알아봤습니다:D
감사합니다:D
'용기러기's javascript' 카테고리의 다른 글
javascript (8) - 조건문과 삼단논법 (0) | 2020.08.02 |
---|---|
javascript (7) - 입력받기(Prompt) (0) | 2020.08.02 |
JavaScript (5) - Array 객체 (0) | 2020.07.30 |
Javascript (4) - Array to String & String to Array (0) | 2020.07.30 |
Javascript (3) - for in vs for of (0) | 2020.07.30 |