パラメータ


►パラメータの復習
//매개변수(paramiters)를(speed, distance)통해 전달받은 인자를 사용할 수 있다)
function timeToGoHome (speed, distance) {
	let time = distance / speed;
	return time;
}
//전달인자(arguments)와 함께 함수에 전달합니다(20,100);
timeTogoHome(20, 100);
►もし、伝達因子(agunits)の長さが可変であれば?
Math.max(3,5,8,10); // 10
Math.max(3,5,8,10,20); // 20
Math.min(3,5,8,10,100,1000); // 3

通常、オプションのパラメータはかっこで表示されます.
Math.使用
getMaxNum([値1[,値2[,...]))関数を作成しましょう
function getMaxNum(){

}
getMaxNum(3,5,8,10); // 10
getMaxNum(3,5,8,10,20); // 20
►ES6
Rest Parameter를 이용해 매개변수를 지정해줍니다
매개변수가 배열의 형태로 전달됩니다.

function getMaxNum(...nums) {
  return nums.reduce(function(acc, current) {
    if(acc > current) {
	  return acc;
    } else {
	  return current;
    }
  });
}
getMaxNum(3,5,8,10); // 10
►argumentsキーワード(ES 5)も使用可能
function getmaxNum() {
  console.log(arguments); // {0:3, 1:5, 2:8, 3:10}
} // 이 arguments 객체는 배열같아 보이지만, 배열이 아닙니다
 // 이를 유사배열 이라고 부릅니다.
//argumnets.forEach // undefined  배열의 method를 사용할 수 없습니다
getMaxNum(3,5,8,10);
►パラメータにデフォルト値を追加する場合
Defualt Parameter(ES6)
任意のタイプの文字列、数値、またはオブジェクトを指定できます.
function getRoute(destination, departure = 'ICN') {
  return '출발지: ' + departure ','
	+'도착지: ' + destination;
}
getRoute('PEK'); // '출발지: ICN, 도착지: PEK'
//중간에 기본매개변수가 들어가는 경우, undefined를 넘겨줬을 때 기본값으로 처리
getRoute(undefined, 'PEK'); // '출발지: ICN, 도착지: PEK'