// 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 메서드에 대해서 더 익숙해질 수 있었습니다.
내용 중 잘못된 부분이 있다면 댓글로 알려주신다면 감사하겠습니다!😊