20200929 TIL Function에 대하여

ToastEggsToast·2020년 9월 29일
0

We!

목록 보기
25/33

Function 선언 방법

기본형 Function

function addNums(num1,num2){
  return num1+num2;
}

function keyword를 사용해 함수를 정의할 수 있다.
윗 과정은 말 그대로 "정의"를 내린 과정이기 때문에 실제 사용을 위해서는 "호출"을 해줘야한다.

function helloWorld(){
  console.log("hello World!");
} //선언

helloWorld();  //호출

가장 기본이 되는 정의, 및 호출 방식으로 가장 많이 사용된다!!

Arrow Function/ Fat Arrow Function (화살표 함수)

() => {
  console.log("hello World!");
}

ES6에서 새로 나온 함수 정의 방법으로, => 를 사용하기 때문에 arrow function, 혹은 fat arrow function이라고 불린다.
this의 scope 때문에 사용하기 좋은 경우도, 아닌 경우도 발생한다고 들었다.
익명 함수로 작동되기 때문에 디버깅이 쉽지 않아 사용을 자제하라는 경우도 존재한다.
(그래도 사용하기 편한 것은.. 부정할 수 없는 사실...)

Self-invoking function (Immediately Invoked Function)

(function () {
  // body of the function
})();

익명함수 (anonymous function)의 한 종류.,.? 로써 선언과 실행을 동시에 시킬 경우 사용한다. 함수명을 따로 정의 할 필요가 없고, 코드가 리딩되는 동시에 "단 한 번만" 실행된다는 특징이 있다. 디버깅이 어렵다는 단점이 있기 때문에, 사용이 권장되지는 않는 편이다.

Q. Anonymous function(익명함수)의 범위는 어디까지인가??

const whatisYourName = function(name){
  return `제 이름은 ${name}입니다.`
};

(function(name){return `제 이름은 ${name}`입니다.})();

첫 번째 코드는 실제로 우리가 많이 보던 함수 표현 방식이다.
두 번째는 anonymous self invoking function이다.
어떤 사람은 첫 번째 코드도 익명함수로 바라보고, 어떤 사람은 두 번째 표현만 익명함수로 바라본다.
음.....!!!!! 어렵다 :) 더 공부를 해봐야겠다.

profile
개발하는 반숙계란 / 하고싶은 공부를 합니다. 목적은 흥미입니다.

0개의 댓글