TypeScriptⅢ(함수)

EunRyeong Park·2022년 9월 24일
0

typescript

목록 보기
3/11
  • 매개변수와 인수
function add(x, y) {//x,y=매개변수=인자값=파라미터(parameter)
    return x + y;
}
add(1,2);//1,2=인수
  • 일급객체(first-class-object)
    다른 객체들에 일반적으로 적용 가능한 연산을 모두 지원하는 객체

✓ 일급객체 조건

✅ 다른 함수에 매개변수로 제공할 수 있다

let A = function(func) {
   func();
}

A(function() {
   console.log('hello'); // "hello"
});

✅ 함수에서 반환 가능하다

function A() {
   return function() {
       console.log('hello'); // "hello"
   }
}

let test = A();
test();

✅ 변수에 할당 가능하다

let A = function() { return "hello"; };
console.log(A()); // "hello"

typescript를 이용하여 함수 사용
-함수 작성시 반환타입을 추론하도록
-함수의 매개변수와 인수의 타입이 호환 가능하게 작성
-인수의 타입을 잘못 전달할떄 에러 발생

// 함수 선언식
function world(name: string): string {
	return 'hello ${name}';
}

// 함수 표현식
let world2 = function (name: string): string {
	return 'hello ${name}';
}

// 화살표 함수 표현식
let world3 = (name: string): string => {
	return 'hello ${name}';
}

// 단축형 화살표 함수 표현식
let world4 = (name: string): string => 'hello ${name}';

  • 타입추론(contextual typing)
    한쪽에만 타입이 있어도 타입을 추론할 수 있음

  • 매개변수 종류

• 기본 매개변수(parameter)
함수에 주어진 인자의 수와 매개변수의 수가 일치해야함

• 선택적 매개변수(optional parameter)
변수명 뒤에 '?'을 붙여서 선택적으로 사용 가능
인수가 없다면 undefined

function buildName(firstName: string, lastName?: string) {
  if (lastName) return firstName +" "+ lastName;
  else return firstName;
}

• 기본-초기화 매개변수(default parameter)
값을 제공하지 않거나 undefined로 했을때 매개변수의 값 할당

function buildName(firstName: string, lastName = "world") {
	return firstName +" "+ lastName;
}
let result1 = buildName("Hello"); // "Hello world"

• 나머지 매개변수(Rest parameter)
생략부호(...)뒤의 인자 배열을 빌드해 사용 가능
나머지 매개변수는 매개변수의 수를 무한으로 취급
아무것도 넘겨주지 않을 수도 있음

function buildName1(firstName: string,...restOfName:string[]){
	return firstName +" "+ restOfName.join(" ");
}

0개의 댓글