변수 선언시 const로 작성하는 이유가 있나요?
830
작성한 질문수 4
제가 반응형 데이터에 대한 이해가 부족한 거일수도 있지만
const로 작성을 하면 상수 취급이 되어서 데이터를 한번 선언하면 변경할수 없다고 알고 있는데,
vue3에서는 const data = ref('') 또는 const obj = reactive({})등으로 변수 선언을 하더라고요
제가 알던 지식으로는 let data = ref('') 또는 let obj = reactive({})등으로 변수를 선언해야 할거 같은데
const로 반응형데이터를 선언했을때 어떻게 let과 같이 변수의 값이 바뀌는지 궁금합니다.(반응형데이터라서...?)
답변 1
0
안녕하세요 🙂
포인트를 체크해 보자면 반응형 데이터에 대한 이해 보다 자바스크립트 언어에 대한 이해를 우선 체크해 보시는 것을 권장드립니다.
두 가지로 나누어서 답변 드리겠습니다.
질문1) const로 반응형데이터를 선언했을때 어떻게 let과 같이 변수의 값이 바뀌는지 궁금합니다.
이 질문에 대한 답변은 우선 Vue와 아무런 관계가 없습니다. 프로그래밍 언어의 Primitive Type vs Reference Type 과 관련이 있습니다. 정리하면 const는 상수, let은 변수 맞습니다. 알고계신 것처럼 const로 선언된 상수는 "값(value)"을 변경할 수 없습니다. 다만 상수에 객체가 할당 되었다면 값은 변경하지 못해도 해당 객체의 속성은 변경할 수 있겠죠?
const obj = { name: 'gymcoding' };
obj.name = 'coding'; // 속성 변경 가능
obj = { name: 'coding' }; // 값의 변경 불가(PS. 만약 위 답변이 이해가 되지 않는다면 제 자바스크립트 강의 배열, 객체 파트를 보시는 것을 권장드립니다. 유튜브에 무료로 업로드했습니다. 자바스크립트 강의)
질문2) vue3에서는 const data = ref('') 또는 const obj = reactive({})등으로 변수 선언을 하더라고요
이 질문에 대한 답변도 우선 Vue와 아무런 관계가 없습니다. 변수 선언시 const로 선언하면 값을 변경할 수 없습니다. 그리고 let을 선언하면 값을 변경할 수 있습니다. (이것은 잘 알고 계실것입니다.)
그러면 여기서 잠시 생각해 보겠습니다.
Vue로 개발시에 변수의 "값(value)"을 변경해야 할 일이 자주 있을까요?
Vue 뿐만 아니라 자바스크립트 프로그래밍시 "값(value)"을 변경해야 할 일이 자주 있을까요?
(참고. 질문1을 제대로 이해하지 않으셨다면 이해가 안될 것입니다)
프로그래밍시에 값을 변경하는일은 많지 않습니다. 아니 변경하면 안되는 경우가 많습니다. 그렇기 때문에 안전상 또는 성능상의 이점을 가져가기 위해 제 코드 스타일상 const 를 사용한 것입니다.
(참고로 저는 자바스크립트 프로그래밍시 var는 아예 사용안하고, let은 거의 사용 안하는 것 같아요. 제 스타일이니 참고만해주세요)
npm init vue@3.1.9
0
43
2
크롭 웹스토어 vue devtools 설치 관련
0
43
1
snippets 작성하는 부분 설명이 있었나요?
0
51
2
computed 의 set 함수를 통해 const 변수에 값을 담는 부분
0
57
2
소스 공유 어디서 해야하는지 궁금합니다
0
62
2
component 등록과 사용
0
59
2
강의교안
0
58
2
eslint 룰 관련 질문이 있습니다.
0
66
2
npm init -y 명령어 실행에 관한 질문
1
156
2
volar 가 마켓플레이스에 검색되지 않아 vue(official)을 설치했습니다.
1
169
2
깊은 감시자 질문
0
89
2
정리된 내용
0
157
2
화면이 왜 이렇게 뜨는걸까요?
0
188
2
왜 다르게 뜰까요..?ㅠㅠ
0
158
2
npm init vue , npm create vue@latest 명령 오류
0
295
2
강의를 듣다보니 궁금한 점 질문드립니다.
0
143
2
watch강의 질문
0
153
1
강의 듣다가 질문드립니다.
0
122
1
이벤트 처리 부분 강의 실습
0
141
2
v-pre는 설명이 없나요?
0
154
2
AppCard.vue 만들다 말고 오류가 갑자기 엄청 뜹니다
0
147
1
개발자도구 Vue 탭 관련 문의
0
241
2
강의를 인텔리제이로 수업따라가도 되져?
0
179
2
API 사용시 자동으로 import하는 기능은 어떤것을 설치해야 하나요?
3
282
2





