10d_Parameters 매개변수

doggoddog·2020년 8월 30일

일일 정리

목록 보기
13/34

매개변수 복습
function timeToGoHome(speed, distance){ //speed, distance : 매개변수
let time = distance / speed;
return time;
}
timeToGoHome(20, 100); //20, 100 : 전달인자(arguments)

전달인자(arguments)의 길이가 유동적이라면
Rest Parameter(...)를 이용해 매개변수를 지정해준다. '[ES6]'

eg1.
function getNum( ...nums ){
console.log(nums);
}

getNum(4,3,5,10); //[4, 3, 5, 10]

eg2.
function getMaxNum(...nums){
return nums.reduce(function(acc, current){
if(acc>current){
return acc;
}
else{
return current;
}
});
}

getMaxNum(2,5,2,10); //10

arguments 키워드를 사용한다 '[ES5]'

function getNum(){
console.log(arguments); //{0:3, 1:1, 2:5, 3:10} 이 arguments 객체는 배열같아 보이지만, 배열이 아닙니다. 이를 '유사배열'이라고 부릅니다.
}

getNum(3,1,5,10);
//Arguments(4) [3, 1, 5, 10, callee: ƒ, Symbol(Symbol.iterator): ƒ]
//Arguments(4) [3, 1, 5, 10, callee: ƒ, Symbol(Symbol.iterator): ƒ] 화살표 누르면 나오는 내용, 화살표 callee, Symbol, proto 옆에 더 있음
0: 3
1: 1
2: 5
3: 10
callee: ƒ getNum()
length: 4
Symbol(Symbol.iterator): ƒ values()
proto: Object

arguments[0]; //3
arguments[1]; //1
arguments.forEach //undefined 배열의 method를 사용할 수 없음

profile
----------------------------

0개의 댓글