간단하게 변수는 "값을 저장하는 저장소"라는 개념을 배웠다.
함수란 간단하게 "작은 기능의 단위" 라고 이해하면 될 것 같다.
확실히 프리코스 수강을 두번째 들으니까,
이전엔 전혀 이해 안갔던 단어들이나 말들이
아직도 확실하진 않지만 어떤 느낌인지 알것같은 기분이 든다.
<함수 선언 방법>
함수의 선언방법에는 두가지가 존재한다.
함수 선언식과, 함수 표현식이다.
두가지는 사실 별 차이가 없다고 보면 된다.
함수 선언식에서는, 단순히 gugudan 이라는 함수를 만들었고,
함수 표현식에서는 myFunction 이라는 변수안에 함수를 넣어줬다.
<함수 용어>
변수와 다른점은, 함수는 매개변수(parameter)가 존재한다.
함수 실행시 입력에 따라 바뀔 수 있는 변수지만,
let이나 const 등의 키워드를 사용하지 않고 사용할 수 있는 변수이다.
예를 들어보자.
사람마다 집까지 가는데 속도가 다르고, 거리가 다르므로 입력값에 맞게 변화할수 있도록
매개변수로 speed와 distance라는 변수(변수란 변화하는 수라고 생각하면 편함)를 지정해주었다.
* 참고로 함수 선언식이던 표현식이던, 호출할땐 매개변수(parameter)값을 넣어줘야 한다.
EX ) timeToGoHome(5, 30);
그럼 만들어본 timeToGoHome 이라는 함수를 실행시켜보자.
그럼 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 |