**computed**: {
reverseFruits() {
return this.fruits.map(fruit => {
return fruit.split('').reverse().join('')
})
}
}
- computed에서 원본 데이터를 미리 계산된 데이터로 만들어서 template의 코드를 더욱 간결하게 작성할 수 있게 된다.
- methods는 함수를 정의하는 곳이고 computed는 함수가 아닌, 계산된 데이터 그 자체를 뜻하게 되므로 methods 보다 computed를 사용하면 코드를 더 최적화할 수 있다.
- computed는 캐싱의 기능이 있기 때문에 사용할 때마다 계산하는 게 아니고 한번 계산된 데이터를 계속 불러올 수 있다.
- computed에서 계산된 데이터는 변경 불가능한 읽기 전용(Getter)이다.
computed의 Getter&Setter
reversedMessage: {
**get()** {
return this.msg.split('').reverse().join('')
},
**set**(value) {
this.msg = value
}
}
- 읽기 전용인 computed 함수를 get(), set() 메소드를 포함하는 객체로 만들면 Getter와 Setter를 가지는 computed를 만들 수 있다.