[JS] let Function;

슬지로운 개발생활·2020년 9월 20일
0

JavaScript

목록 보기
2/5
post-thumbnail

함수(Function)

▪  하나의 작은 기능을 구현할 수 있다. / 함수는 작은 기능의 단위이다
▪  함수는 문제 해결을 위한 고민을 논리적으로 풀어내는 작업을 하는 하나의 단위
      → 알고리즘 : 문제를 어떻게 해결할지에 대한 고민
▪  (컴퓨터에게 일을 시키기 위한) 지시사항의 묶음
      → 세분화 되어있는 일들을 한번에 이름을 지어 묶음
▪  입력 → 함수 → 출력의 과정으로 이루어져 있다.

JavaScript에서는 함수 이름입력을 넣어야한다.
▪  수학적인 표현 : f(hello)
▪  JavaScript : getLength("hello")

let length = getLength("hello");
console.log(length);

한수의 선언(함수 선언식)

function myFunction(input) {
  //컴퓨터에게 시킬 일
}

함수 표현식

let myFunction = function(input) {
  //컴퓨터에게 시킬 일
}

매개변수(parameter)

▪  함수 실행시 입력에 따라 바뀔 수 있는 변수지만, let 등의 키워드를 쓰지 않고 사용가능
      ∷ 예시 : 집까지 가는데 걸리는 시간
                    → 사람마다 속도와 집까지의 거리가 달라 매개변수로 지정해줌

   let timeToGoHome = function(speed, distance) {
     let time = distance / speed;
     console.log(time);
   }
   -----------------------------
   timeToGoHome(20, 100) // 5
   time; // Error : not defined
   let time = timeToGoHome(10, 200); // 20 -> 이 과정에서 콘솔에 20이라고 찍히지만
   time; //undefined -> time에 담긴 값은 없다. -> 함수내에서 return으로 출력하지 않아 담기지않는다.

      전달인자(arguments)와 함께 함수에 전달
      상단의 함수의 time값은 바깥에서 쓸 수 가 없다.
      → scope문제 때문에 담아두고싶어 변수로 선언해도 담기지 않는다.


return

함수 바깥으로 결과를 가져올 때 사용
    ∷ 예시 1 : return 존재하는 경우

    let timeToGoHome = function(speed, distance) {
      let time = distance / speed;
      return time;
    }

    let myTime = timeToGoHome(20, 100);
    console.log(myTime); // 5

    ∷ 예시 2 : return 존재하지 않는 경우

    let timeToGoHome = function(speed, distance) {
      let time = distance / speed;
      // 만일 아무것도 리턴하지 않는다면
    }

    let myTime = timeToGoHome(20, 100);
    console.log(myTime); // undefined

0개의 댓글