JavaScript/함수

자바스크립트 함수 기초에 대해 알아보자

tnfejr0951 2021. 2. 24. 23:32

간단하게 변수"값을 저장하는 저장소"라는 개념을 배웠다.

함수란 간단하게 "작은 기능의 단위" 라고 이해하면 될 것 같다.

확실히 프리코스 수강을 두번째 들으니까,

이전엔 전혀 이해 안갔던 단어들이나 말들이

아직도 확실하진 않지만 어떤 느낌인지 알것같은 기분이 든다.

 

<함수 선언 방법>

 

함수의 선언방법에는 두가지가 존재한다.

함수 선언식과, 함수 표현식이다.

함수 선언식
함수 표현식

두가지는 사실 별 차이가 없다고 보면 된다.

함수 선언식에서는, 단순히 gugudan 이라는 함수를 만들었고,

함수 표현식에서는 myFunction 이라는 변수안에 함수를 넣어줬다.

 

<함수 용어>

매개변수(parameter)

변수와 다른점은, 함수는 매개변수(parameter)가 존재한다.

함수 실행시 입력에 따라 바뀔 수 있는 변수지만,

let이나 const 등의 키워드를 사용하지 않고 사용할 수 있는 변수이다.

 

집까지 가는데 걸리는 시간을 계산한 함수

예를 들어보자.

사람마다 집까지 가는데 속도가 다르고, 거리가 다르므로 입력값에 맞게 변화할수 있도록

매개변수로 speed와 distance라는 변수(변수란 변화하는 수라고 생각하면 편함)를 지정해주었다.

* 참고로 함수 선언식이던 표현식이던, 호출할땐 매개변수(parameter)값을 넣어줘야 한다.

EX ) timeToGoHome(5, 30);

그럼 만들어본 timeToGoHome 이라는 함수를 실행시켜보자.

매개변수(parameter)에 speed와 distance값을 넣어줌.

그럼 timeToGoHome에 함수안에서, 전달받은 인자값을 함수 내부에서 실행시킨뒤, 결과값을 출력한다.

20의 전달인자 값이 speed에 , 100의 전달인자 값이 distance에 들어갔으니,

함수안에 만들어져 있는 time이라는 변수에 distnce / speed값이

console.log로 출력이 되게 되어있다.

그래서 timeToGoHome이라는 함수를 20,100의 전달인자를 넣은뒤 실행시키면

5라는 결과값이 출력이 되게 되는것이다.

* timeToGoHome함수안에 time 이라는 변수는, 함수 바깥에서 사용할 수 없다.

이것을 지역변수(지정된 지역 안에서만 사용되는 변수)라고 한다.

 

timeToGoHome(20, 100)의 함수 호출 결과값은 5이다.

그러나, 이 함수를 새로운 변수에 할당하고, console.log로 찍어내보면

5의 결과값이 나오지않는다. 왜그런걸까?

함수 내부에서 return을 하지 않았기 때문이다.

 

 

함수를 밖에서도 사용하고 싶다면 반드시 return 되는 값이 있어야한다.

 

 

 

 

'JavaScript > 함수' 카테고리의 다른 글

Math Function  (0) 2021.12.24
자바스크립트 length에 대해 알아보자.  (0) 2021.03.06