본문 바로가기

나의 FE피봇이야기/Javascript

[JS/Type] void (update : 2024.04)

void : 결과 값을 반환하지 않는 함수

함수 : void, never, [ ]

never : 반환값(return) 정의 가능.(다만, 일반적인 정의 아님) => ex) throw Error(message);
- 확인 하기 어려운 값 + 함수가 예외 or 프로그램을 종료한다는 뜻

The never type represents values which are never observed. In a return type, this means that the function throws an exception or terminates execution of the program.



never also appears when TypeScript determines there’s nothing left in a union.

 

 

 

void : 반환값(return) 없을 경우 => undefined, null 값만 대입(assign) 가능
  - 사용자가 함수의 반환값을 사용하지 못하도록 제한.
  - 반환값을 사용하지 않는 콜백 함수를 타이핑할 때 사용.

[ ] :
  1)  타입의 명시적과 초기화를 통해 타입 지정 가능.
  2) 명시적, 묵시적 타입 지정을 하지 않을 경우 => any

const member : string[ ] = [‘Kim’, ‘Park’]

const myAry = [ ’TypeScript’, 20202 ];
  === const myAry : (string | number ) [ ]

 

 

[ ] 와 유사한 Tuples

 다만, Tuples는 1) 불변성 (const)와 유사하다. 2) 요소의 순서와 개수에 제약 존재

  const tuples : [string, number] = [‘Kim’, 50]

  tuples[0] = ‘Parkl’ ==> OK

  tuples[1] =  50 ==> Not okay , Type ’50’ is not assignable to type ‘string’

 

 

 

결과 값을 반환하는 함수 : 명시적으로 반환값의 타입 기술

선언적 함수

function add(n1 : number, n2 : number ) : number {
  return n1 + n2;
}

 

익명 함수

const add = function(n1 : number, n2: number) : number {
  return n1 + n2;
}

 

람다 함수

const add(n1:number,  n2 : number) => number =
  (n1 : number, n2 : number) : number => {
    return n1 + n2;
}

 

 

or === |  : 유니온(union) 타입