Achievement Goals (학습목표)
함수 Intro
함수가 "작은 기능의 단위"라는 것을 이해할 수 있다.
함수 선언을 위해 필요한 keyword, name, parameter, body에 대해 이해할 수 있다.
함수 선언과 호출의 기초적인 작동 원리를 이해할 수 있다.
함수가 선언되어 함수 표현식이 변수에 담기는 과정을 설명할 수 있다.
함수의 결과값이 변수에 할당되어 담기는 과정을 설명할 수 있다.
함수 기초, 함수 실습
함수의 호출과 리턴에 대해서 이해하고, 실제 코드로 작성하여 활용할 수 있다.
함수 그 자체(func)와, 함수의 호출(func())를 구분하여 사용할 수 있다.
매개변수(parameter)와 전달인자(argument)를 구분하여 사용할 수 있다.
함수 Function intro
함수의 구성
function (keyword/함수의키워드) + mulTablePrinter (name/함수의이름 ) + (num /parameter 전달인자)
-> 최종 : function mulTablePrinter(num)
함수의 의미
코드의 묶음 (즐겨찾기 버튼)
기능(function)의 단위
입력과 출력간의 매핑 (mapping)
반드시 돌아온다.(return)
함수의 사용방법
funtion cal(param1, param2) {
console.log(param1 + param2);
return param1 *10;
}
함수를 만들면 특별한 공간에 저장된다. 언제든 다시 사용할 수 있도록
그리고 이 함수를 사용하고 싶을 때 불러 올 수 있다.
cal(10,20);
함수를 호출한다
호출한 함수의 표현식이 어떻게 평가될까?
let result = cal(10,20);
함수가 호출되면 특별한 저장공간에 있던 함수의 코드가 조회된다.
함수코드 바디에 등장하는 전달인자(파라미터)들은 함수 호출시에 등장하는 인자의 값으로 바뀐다.
param1 = 10, param2 = 20 이렇게!
let result = 100;
funtion cal(10, 20) {
console.log(10 + 20);
return 10 *10;
}
함수 기초
함수 (컴퓨터에게 일을 시키기 위한) 지시사항의 묶음
함수는 입력-> 함수-> 출력 과정으로 이루어져 있다.
함수는 각자 세분화된 일을 이름을 지어서 하나의 기능을 만들어 실행을 할 수 있다.
JavaScript에서의 함수사용은 함수이름과 입력을 이용한다.
수학적표현은 f(안녕하세요) 이지만 자바스크립트에서는 getLength("안녕하세요") 이렇게 이용해야한다.
let length = getLength("안녕하세요") ;
console.log(length); // 5 > 아웃풋
함수의 선언 (함수선언식)
function myFunction(input) {
//컴퓨터에게 시킬 일
}
또는 다음과 같이 정의할 수 도 있다.(함수표현식)
let myFunction = function(input){
// 컴퓨터에게 시킬 일
}
여기서, 특별히 함수에서 사용할 입력값(input)을 매개변수"parameter"라고 부릅니다.
이는 함수 실행시 입력에 따라 바뀔 수 있는 변수지만, let 등의 키워드를 쓰지 않고 사용할 수 있습니다.
뭘 집어넣어도 input이라는 입력값을 통해서 함수에 접근할 수 있다!
예)
집까지 가는 데 걸리는 시간을 계산하는 함수를 적어보자
let timeToGoHome = function(speed,distance) { //함수표현식
let time = distance / speed;
console.log(time); // 최종 출력
}
사람마다 속도가 다르고, 집까지의 거리가 다르므로 매개변수로 지정!
매개변수를 사용해서 표현식 let time = distance / speed
을 만들었다.
이 함수를 실행하는 법
timeToGoHome (20,100) // 함수이름 (전달인자:arguments)
를 함께 함수에 전달한다.
함수 바깥으로 결과를 가져오려면?
let timeToGoHome = function(speed,distance) { //함수표현식
let time = distance / speed;
console.log(time); // 최종 출력 , 아무것도 리턴하지않는 상태
}
// 이 과정에서 콘솔에 20이라고 찍히긴 하지만,
let myTime = timeToGoHome (20,100);
console.log(myTime); // undefined
//실제 myTime에 담긴 값은 없습니다.
//time을 실제 사용을 할 수 없다.
let timeToGoHome = function(speed,distance) { //함수표현식
let time = distance / speed;
return time;
//return은 함수 밖으로 결과를 반환합니다.
}
let myTime = timeToGoHome (20,100);
console.log(myTime); // 5로 출력된다.