[TIL] 2021.03.12 JS와 가까워지기_lesson 함수

나라리야·2021년 3월 12일
1

TIL_codestates

목록 보기
3/12
post-thumbnail

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)

함수의 사용방법

  1. 버튼제작
    선언(declaration)
funtion cal(param1, param2) {
	console.log(param1 + param2);
	return param1 *10;
}

함수를 만들면 특별한 공간에 저장된다. 언제든 다시 사용할 수 있도록
그리고 이 함수를 사용하고 싶을 때 불러 올 수 있다.

  1. 버튼사용
    호출(call, invocation)
cal(10,20);

함수를 호출한다
호출한 함수의 표현식이 어떻게 평가될까?

  1. 최종 결과
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로 출력된다. 
profile
Code의 美를 추구하는 개발자 🪞

0개의 댓글