리코딩 : 자바스크립트(JavaScript)

자바스크립트 1. 변수와 자료형 : 함수

BreezeBm 2020. 9. 18. 22:59

함수... 초.중.고등학교를 지내면서 가장 싫었던 내용이 함수였던 것 같다.... 각설하고

 

우리는 새로운 소프트 웨어를 만들기 위해서, 또는 조금 더 좋은 앱과 프로그램을 위해, 문제를 해결하기 위해 늘 고민해야한다.

문제를 어떻게 해결할지에 대한 고민을 '알고리즘'이라고 한다. 그리고 '함수(function)'는 이러한 문제 해결을 위한 고민을 논리적으로 풀어내는 하나의 단위이다. 

 

수학시간의 배운 함수는 x라는 독립변수를 정해놓은 함수에 들어가면 y라는 결과, 종족변수가 나오는 개념이다. 

 

코딩에서도 마찬가지 이다. '매개변수'를 받아서 '잘짜여진 코드(함수)'를 통해서 결과를 얻어내는 과정이다.

function getDistance(speed, time) {
  let distance = speed * time;
  console.log(distance);
}
getDistance(50, 5); // 250

위에 코드를 보면 'getDistance'라는 함수를 만들었다. 이 함수는 '속도와 시간'이라는 매개변수를 받는다. 그리고 'distance'를 선언하고 'speed'와 'time'을 곱하는 값을 할당해 주었다. 그리고 'distance'를 내뱉는 코드이다. 

(어디서 많이 보지 않았습니까? 바로 거 속 시! 당신의 깊은 해마속 어딘가가 자극되며 추억을 불러 일으키길...)

 

함수를 선언 하는 것은 2가지 방법이 있다. '함수선언식'과 '함수표현식'이 있다.

 

먼저 함수선언식을 살펴 보자!

function plusFive(num1) {
  num1 = num1 + 5;
  console.log(num1);
}

다음은 함수표현식이다!

let minusFive = function (num2) {
  num2 = num2 - 5;
  console.log(num2);
};

잘보면 선언하는 방식에 차이가 있다 하지만 공통적으로 함수의 이름을 정해주고 함수의 코드를 짜주는 것은 동일하다!

(나중에 저 두친구 중에 한명은 var와 같이 호이스팅 문제가 생긴다......... 머리야....)

 

그렇다면 함수는 어떻게 실행 시키는 걸까? 

function plusFive(num1) {
  num1 = num1 + 5;
  console.log(num1);
}
plusFive(5) // 10

방금 작성한 따근한 코드이다. 함수는 다른 변수와 다르게 ( )괄호를 붙여서 실행시킬 수 있다!  이때 ()에 있는 친구를 '전달인자(argument)'라고 부르고 줄여서 '인자'라고 부른다!

 

다음은 타입을 기록해보자!