Blue Chicken - The Legend Of Zelda
본문 바로가기

개인공부

[vue3] const time = ref(0);

`const`와 `let`의 차이점을 이해하려면, JavaScript에서 변수의 동작 방식과 Vue.js의 반응형 시스템을 고려해야 합니다.

 `const`와 `let`의 차이


- `const`: 변수를 선언할 때, 해당 변수가 불변(immutable)임을 의미합니다. 즉, 변수에 할당된 값 자체를 변경할 수 없습니다. 그러나, 객체나 배열과 같은 참조형 데이터는 그 내부 값이 변경될 수 있습니다.
- `let`: 변수를 선언할 때, 그 변수가 변경 가능함을 의미합니다. 즉, 변수 자체를 다른 값으로 재할당할 수 있습니다.

 

Vue.js에서 `ref`

`ref`는 Vue.js에서 반응형 데이터 속성을 만듭니다. `ref`를 사용하여 생성된 변수는 객체로 취급되며, 해당 객체의 `value` 속성이 반응형입니다. 

 

왜 `const`를 사용하는가?

 

`const time = ref(0);`는 `time` 변수 자체는 불변이지만, `time.value`는 변경될 수 있음을 의미합니다. 이는 Vue.js의 반응형 시스템에서 일반적인 패턴입니다.

- 변수 `time` 자체는 변경되지 않습니다. 즉, 다른 `ref` 객체로 다시 할당할 수 없습니다. 이는 코드의 안정성을 높여줍니다.
- `time.value`는 변경 가능합니다. `ref`로 생성된 객체의 `value` 속성은 반응형이므로, 이를 통해 데이터의 변화를 추적하고, 이 변화에 따라 UI를 업데이트할 수 있습니다.

 


 `let`을 사용하는 경우

`let`을 사용하면 변수 자체가 재할당될 수 있습니다. Vue.js의 반응형 시스템에서 이 방식은 잘 사용되지 않습니다. `const`로 변수를 선언하고, 그 내부의 `value` 속성을 통해 데이터를 관리하는 것이 일반적인 패턴입니다.

 

결론

`const time = ref(0);`는 `time` 변수 자체가 불변이므로 코드의 안정성을 높이고, `ref(0)`를 통해 `time.value`가 반응형으로 동작할 수 있게 합니다. 이렇게 하면 변수 자체가 재할당되지 않아 코드의 일관성을 유지하면서, `ref` 객체의 반응형 특성을 활용하여 데이터의 변화를 효과적으로 관리할 수 있습니다.