ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [TS] 함수와 메서드
    TypeScript 2023. 4. 17. 16:11
    반응형
    SMALL

     

     

     

    함수선언문, 함수표현식
    화살표 함수, 표현식문

     

     

    # 함수선언문

    /** type키워드로 타입별칭 만들기 */
    함수의 타입을 명시하면 매개변수의 개수나 타입, 반환타입이 다른 함수를 선언하는 잘못을 방지할 수 있다.	
    
    type stringNumber = (string, number) => void
    let f: stringNumber = function(a:string, b:number): void{}
    let h: stringNumber = function() {}
    h()
    => 2개의 인수가 필요한데 0개를 가져왔습니다. 
    
    /** 선택적 매개변수 */
    함수의 매개변수에도 이름뒤에 물음표를 붙일 수 있으며, 이를 선택적 매개변수라고 한다.
    아래처럼 함수호출을 모두 가능하게 하고싶을 때 사용
    function fn(arg1: string, arg?:number) {
    	console.log(`arg1: ${arg1}, arg: ${arg}`)
    }
    fn('hello', 1) // "arg1: hello, arg: 1"
    fn('hello') // "arg1: hello, arg: undefined"

     

     

     

    # 함수표현식, 화살표함수와 표현식문

    - 함수표현식을 담는 변수는 let보다는 const키워드로 선언하는 것이 바람직하다. 
    - const로 설정하면 함수내용이 이후에 절대로 바뀔 수 없기 때문
    
    # 화살표 함수의 몸통은 function때와는 다르게 중괄호를 사용할 수도 있고 생략할 수도 있다.
    const arrow1 = (a: number, b: number): number => {return a+b} //실행문 방식
    const arrow2 = (a: number, b: number): number => a+b //표현식 문 방식
    
    - 실행문의 결과를 알려면 반드시 return키워드를 사용해야한다.
    - 표현식문은 실행된 결과를 굳이 return키워드를 사용하지 않아도 알려준다.
    - return키워드는 반드시 함수몸통{}에서만 사용할 수 있다는 제약이 있다. 
    
    # C언어는 모든문장이 반드시 세미콜론;으로 끝나야 한다. 
    # C언어를 참조하여 만든 ES5자바스크립트 또한 그렇다.
    # 반면에 ESNext자바스크립트와 타입스크립트에서는 세미콜론을 생략할 수 있다.

     

     

     

    # 함수구현기법

    /** 매개변수 기본값 지정 
    /* makePerson 함수는 호출 때 매개변수 age에 값을 전달받지 못하면 기본으로 22 설정됨
    */
    export const makePerson = (name: string, age: number = 22):Person=>({name,age})
    console.log(makePerson('AMY') // {name: 'AMY', age: 22}
    
    /** 색인 키와 값으로 객체만들기 */
    const makeObject = (key, value) => {[key]: value})
    console.log(makeObject('name', 'AMY')) // { name: 'AMY'}

     

     

     

    반응형
    LIST

    'TypeScript' 카테고리의 다른 글

    [TS] 자동세미콜론  (1) 2023.05.08
    [TS] 객체와 타입  (0) 2023.04.11
    [TS] 모듈 이해하기  (0) 2023.04.07

    댓글

Designed by Tistory.