- 전역 변수 숨겨진 부수효과 찾기
- 절차를 순수함수로 바꾸기
- Record Data 함수 비교하기
- 함수합성
- 함수와 타입, 집합
- 타입을 만드는 함수, 제네릭
export let totalPrice = 0
totalPrice += 7000
totalPrice += 15000
totalPrice += 10000
totalPrice += 30000
function priceOfTomato(){
return 7000
}
function priceOfOrange(){
return 15000
}
function priceOfApple(){
return 10000
}
function getPrice(name:string): number | undefined {
if(name==="tomato"){
return 7000
} else if(name ==="orange"){
return 150000
} else if(name ==="apple"){
return 10000
}
}
function isExpensive=(price:number | undefined)=>{
if(price === undefined){
return false
}
const price > 10000
}
const priceOfPruit= {
tomato: 7000,
orange: 15000,
apple: 10000,
}
const isEven(){
tomoto:true,
orange: true
}
const isEvenFn =(str:string)=> str.length % 2 ===0
function list1(){
return priceOfTomato() + priceOfOrange() + priceOfApple()
}
function list3(){
return priceOfApple() * 100
}
function getTotal(){
return list3()
}
function main =()=>{
const price = getPrice("토마토")
return isExpensive(price)
}```
- 명령적 작성 코드와 함수적 (선언적)작성 코드 비교
- 함수 레코드와 비슷한 타입의 데이터로 생각하는 방법
## 함수 합성
- 함수합성이란 한 함수의 공역이 다른 함수의 정의역과 일치하는 경우 두 함수를 이어 하나의 함수로 만드는 연산
- 수학에서 함수: 정의역과 공역
>정의역(매개변수 타입)은 어떤함수의 입력값 집합
공역(반환타입)은 함숫값들이 속하는 더 큰 집합
치역(가능한 반환값)은 공역 원소 중 반환 가능한 값 집합
## 타입
>수학에서 집합은 특정한 조건에 맞는 별개의 모임
할당 할 수 있는 값들의 집합을 의미
## total function 전함수와 partial function 부분 함수