함수와 타입

김민재·2023년 1월 11일
0
post-thumbnail
  • 전역 변수 숨겨진 부수효과 찾기
  • 절차를 순수함수로 바꾸기
  • Record Data 함수 비교하기
  • 함수합성
  • 함수와 타입, 집합
  • 타입을 만드는 함수, 제네릭
// 장을 본 값 계산 함수

/*
토마토 7000원, 오렌지 15000원 사관 10000원
*/

// 순수함수로 만들기


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 부분 함수


profile
자기 신뢰의 힘을 믿고 실천하는 개발자가 되고자합니다.

0개의 댓글