
// tip
() => {return 10} 은
() => 10과 같다. 
type 함수타입=(a:string)=> number; // 파라미터 타입을 string으로 지정 (string 타입의 자료를 넣음)
																	// return의 타입 값을 number로 지정(number 타입을 배출)
																	
let 함수 :함수타입 = function (){   // **함수 표현식**에만 type alias 사용 가능 
	return 10
}object 안에는 함수, 화살표 함수를 넣을 수 있다.
넣는 이유는 함수도 자료 안에 보관해서 쓰고 싶을 때가 있기 때문!
type Member={
  name:string,
  age:number,
  plusOne:(x:number)=>number,
  changeName:void,
  
}
let 회원정보:Member ={
	name:"kim",
	age:"20",
	plusOne(a){
		return a + 1;
	},
changeName:()=>{
		console.log('안녕')
	}
}
회원정보.plusOne() // 객체 안의 함수 plusOne의 코드가 실행된다.✅ Quiz.1
다음 함수2개를 만들어보고 타입까지 정의해보세요
💻First try
type Func1Type=(a:string[])=>string;
let cutZero:Func1Type = function (a) {
  if(a[0]==="0"){
   return a.shift();
  }
}
type Func2Type=(b:string[])=>number;
let removeDash:Func2Type = function(b) {
  if (b.push()&b.includes("-")){
      return b.length=0;
      }
  
}💻 Second try
type CutType=(a:string)=>string;
type RemoveType = (b:string) => number;
let cutZero:CutType= function(a) {
  let findZero= a.replace(/^0/,"");
  return findZero
}
let removeDash:RemoveType = function(b) {
  let findDash= b.replace(/"-"g/, "");
  return findDash
}
cutZero(0102323);📌Answer
type CutType = (x :string) => string
let cutZero :CutType = function (x){
    let result = x.replace(/^0+/, "");
    return result
}
function removeDash(x :string) :number{
    let result = x.replace(/-/g, "");
    return parseFloat(result)
}💡 **정규 표현식
/…/ : js에서 정규식을 묶어주는 표현 방식
^ : 시작표시 (매칭이 처음부터 되어야 한다)
- : 1번 이상 반복
g : 글로벌의 뜻. 전역 매칭을 한다. 처음부터가 아닌 전체에서 정규식이 맞는걸 찾는다.
i : case Insensitive, 대소문자 구별 안함**
💡 replace 메서드
replace(”찾을 문자열”, “변경할 문자열”)
💡 parseFloat
텍스트를 소수점 표현이 가능한 실수로 변환하는 함수
✅ 함수와 객체안의 함수에 type alias(타입별칭)을 사용하는 방법을 알게 되었습니다.
✅ replace 메서드에 대해서 더 익숙해질 수 있었습니다.
내용 중 잘못된 부분이 있다면 댓글로 알려주신다면 감사하겠습니다!😊