function

Shin Woohyun·2021년 7월 26일
0
post-custom-banner

Function declaration

fuction name(param1, param2) { body... return; }
hoisting 되기 때문에 선언 전에 사용해도 작동한다.

하나의 함수는 하나의 기능만.
이름은 동사형으로 지어야 한다.

  • TypeScript는 JS에서 type을 지정할 수 있음.
    ex) parameter의 type을 string으로, return을 number로 지정.
funtion log(message: string): number {
  console.log(message);
  return 0;
}

Parameters

primitive parameters : passed by value
object parameters: passed by reference

  • Default parameters
  • Rest parameters : ...args (배열형태)
    for, for..of, forEach

Local scope

밖에서는 안이 보이지 않고, 안에서만 밖을 볼 수 있다.

Early return, early exit

조건이 맞지 않을 때 빨리 끝내버리고, 긴 로직은 그 뒤에 작성하는 것이 더 좋다.

First-class function

함수는 다른 변수들처럼
1. 변수의 값으로 할당된다.
2. 다른 함수의 argument로 전달된다.
3. 다른 함수의 return값으로도 return된다.

Function expression

할당된 다음부터 사용가능하다.

const print = function(){ // anonymous function
  console.log('print');
}
print();
const printAgain = print;
printAgain();

Callback function

함수를 불러다가 씀.

function randomQuiz(answer, printYes, printNo) {
  if(answer === 'love you') {
    printYes();
  } else { 
    printNo();
  }
}
// annonymous function
const printYes = function () {
  console.log('yes!');
};
// named function (디버깅, recursions)
const printNo = function print() {
  console.log('no!');
}

Arrow function

const simplePrint = function () { 
  console.log('simplePrint!');
};

const simplePrint = () => console.log('simplePrint!');

IIFE

Immediately Invoked Function Expression
함수 선언과 동시에 호출
(function hello(){})()

https://youtu.be/e_lU39U-5bQ

post-custom-banner

0개의 댓글