- 순수함수는 독립적으로 유일하게 혼자서만 동작하는 함수이다.
- 외부의 환경에 의존하지 않는다.
- input과 output이 있어야한다.
- 종속이 없어야한다.
- 필요한 것들은 파라미터로 받는다.
- 작아야한다.
- 쉽게 유추가 가능해야한다.
- 재사용성이 올라간다.
interface ITodo{
id: number
text:string
done:boolean
}
interface IpageOption{
limit:number
page:number
}
const todolist = ref<ITodo>([])
const pageOption = reactive<IPageOption>({
limit:10,
page:1,
})
const getTodoList = () => {
const res = axios.get('/api/vi/todo',pageOPtion.value)
const todos = [
{id:1,text:'buy a car', done:false}
{id:2,text:'buy a bus', done:false}
]
todolist.value = todos
}
getTodoList()
pageoption과 todolist의 종속성을 가지고 있기 때문에 이건 순수함수가 아니다.
interface ITodo{
id: number
text:string
done:boolean
}
interface IpageOption{
limit:number
page:number
}
const todolist = ref<ITodo>([])
const pageOption = reactive<IPageOption>({
limit:10,
page:1,
})
const getTodoList = (pageOption : IpageOption):ITodo[] => {
const res = axios.get('/api/vi/todo',pageOPtion.value)
const todos = [
{id:1,text:'buy a car', done:false}
{id:2,text:'buy a bus', done:false}
]
return
}
todoList.value = getTodoList(pageOption)
pageoption과 todolist의 종속성을 가지고 있기 때문에 이건 순수함수가 아니다.
실행하는 곳에서 사용하는 옵션값을 실행하는 곳에다가 넣었습니다.
input, output만 정했다.