Vue.js에서 computed properties란 무엇인가요?
_____A1: computed properties는 Vue 인스턴스 내에서 선언하는 계산된 속성으로, 데이터의 변화를 감지하여 자동으로 재계산되고, 결과를 캐싱하여 효율적으로 사용할 수 있는 반응형 속성입니다.
Q2: computed properties는 왜 사용하나요?
A2: 복잡한 로직을 템플릿 내에서 직접 작성하는 것을 피하고, 데이터에 의존하는 연산을 효율적으로 처리하기 위해 사용합니다. 또한, 캐싱 덕분에 불필요한 재계산을 방지해 성능을 향상시킵니다.
Q3: computed properties와 methods의 차이는 무엇인가요?
A3: computed properties는 의존하는 데이터가 변경될 때만 재계산되고 결과를 캐싱하지만, methods는 호출할 때마다 항상 함수가 실행됩니다. 따라서 반복 렌더링 시 성능 차이가 발생할 수 있습니다.
Q4: computed properties는 어떻게 선언하나요?
A4: Vue 인스턴스 또는 컴포넌트에서 `computed` 옵션 안에 함수 형태로 선언합니다. 예:
```js
computed: {
fullName() {
return this.firstName + ' ' + this.lastName;
}
}
```
Q5: computed properties는 setter도 가질 수 있나요?
A5: 네, `get`과 `set`을 사용한 getter/setter 형태로 선언할 수 있습니다. setter를 통해 값을 변경할 때 추가 로직을 작성할 수 있습니다. 예:
```js
computed: {
fullName: {
return this.firstName + ' ' + this.lastName;
},
set(newValue) {
const names = newValue.split(' ');
this.firstName = names[0];
this.lastName = names[names.length - 1];
}
}
}
```
Q6: computed properties 내부에서 비동기 작업을 할 수 있나요?
A6: 일반적으로 computed properties는 동기적이어야 하며, 비동기 작업은 권장되지 않습니다. 비동기 작업은 `methods`나 `watchers`에서 처리하는 것이 바람직합니다.
Q7: computed properties가 변화하는 시점은 언제인가요?
A7: computed properties는 의존하는 데이터(reactive data)가 변할 때만 재계산되어 최신 값을 제공합니다. 데이터가 변하지 않으면 캐시된 값을 그대로 반환합니다.
Q8: computed properties가 반응형(reactive)인 이유는 무엇인가요?
A8: Vue가 데이터의 의존성을 추적하여 computed 내에서 참조되는 reactive 데이터를 감지, 데이터가 바뀌면 computed 프로퍼티를 자동으로 업데이트하기 때문에 반응형입니다.
---
요약하면, Vue.js의 computed properties는 의존하는 reactive 데이터를 기반으로 계산된 값을 효율적으로 관리하는 반응형 속성으로, 템플릿 내에서 최적화된 데이터 표현을 가능하게 합니다.
작성자:
정현우 [비회원]
| 작성일자: 1년 전
2024-09-14 17:14:39
조회수: 132 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
조회수: 132 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.