가쟤의 해변일기 🐳

타입스크립트 | 함수 호출 시그니처 과제 본문

Front-end

타입스크립트 | 함수 호출 시그니처 과제

바닷가쟤 2023. 8. 31. 15:52

https://huchu.link/2v74MlY

 

TS Playground - An online editor for exploring TypeScript and JavaScript

The Playground lets you write TypeScript or JavaScript online in a safe and sharable way.

www.typescriptlang.org

function last<T> (arr: T[]):T {
    return arr[arr.length - 1]
}

function prepend<T>(arr:T[], item:T):T[] {
    arr.unshift(item)
    return arr
}

function mix<T>(arr1:T[], arr2:T[]):T[] {
    return arr1.concat(arr2)
}

function count<T>(arr:T[]):number {
    return arr.length
}

function findIndex<T>(arr:T[], item:T) {
    if(arr.includes(item)) {
        return arr.findIndex(i => i === item)
    } else {
        return null
    }
}

function slice<T>(arr:T[], startIndex:number, endIndex?:number) {
    return arr.slice(startIndex, endIndex)
}

TS 미니 과제(?)로 렇게 풀었다.

사실 ㄴㅁㄷㅋㄷ 챌린지인데 이게 맞는걸까?(내일 정답 나옴)

호출 시그니처를 사용한게 맞...나?

배열데이터를 인수로 받는게 계속 나와서 <T>를 많이 쓴 것 같다...


호출 시그니처

function sum(a:number, b:number) {
	return a + b;
}

이 흔한 함수 녀석을

(a: number, b:number) => number;
(a: number, b:number): number;

타입스크립트 문법으로 이와 같이 표현할 수 있다고 한다.


TS보다 JS 메서드 공부하는 느낌

코테를 꾸준히 풀었어서 그런지 메서드 사용에 익숙하다.

TS 개념이 막 어려운 것도 아니라 이게...이게 정말 맞나..? 끝인가..? 싶어서 당황스럽다

일단 지금 패캠 필수 강의와 ㄴㅁㄷㅋㄷ TS로 블록체인 만들기 강의 둘 다 70퍼정도 들은 것 같다.

ㄴㅁㄷㅋㄷ는 2주 챌린지 신청해서 매일 퀴즈나 과제 풀고 있고, 내일이면 강의는 다 들을 것 같다.

두 강의를 같이 들으니까 이해가 잘 된다. (처음엔 블록체인 강의땐 무슨 소린지 모르겠었듬)

 

아무튼 TS도 다음주까지 열심히 해보자 !

 

728x90