default parameters , rest parameters ,arrow function ,arguments [ES6]
1. Default parameters
: 파라미터에 값지정
function showMessage( message, from='unkown' ){
console.log(`${message} by {$from}`);
}
showMessage('hi')
function temp(){
return 10
}
function add(a, b = temp() ){
console.log(a + b)
}
2. Rest parameters
: 파라미터값을 배열로
function printAll( ...args ) : 배열형태로 파라미터가 전달 -> ['seok' , 'woo' , 'jjang']
for(let i =0; i<args.length; i++){
console.log(arg[i]);
}
printAll('seok' , 'woo' , 'jjang')
출력:
seok
woo
jjang
<
args.forEach((arg) => console.log(arg))
또는
for(const arg of args) {
console.log(arg);
}
>
표현도 가능하다
function fun2(a, b ,...parameter){
console.log(parameter)
}
fun2(1,2,3,4,5,6,7);
출력: [3,4,5,6,7]
function fun2(a, ...parameter, b){} //에러:항상 맨뒤에 써야됨
function fun2(a, ...parameter, ...parameter2){} //에러:2개이상 사용x
//rest parameter: 파라미터 경우 : []로 씌움
//spread operator:나머지 경우: []을 벋김
장점: 파라미터가 몇개오는지 미리안정해도 됨
3. arrow function
함수모양(나중에 this등 활용할떄 주의해야됨)
const simplePirnt = ()=>console.log('print);
const sum = ()=>console.log('print);
그리고 arrow function은 일반함수와 다르게 return을 생략할수잇다
근데 리턴값 있을거면 중괄호 {} 표시해야됨
if (images.length > 0) {
let image = images[0]
return `http://localhost:5000/${image}`
}
}
4. arguments
arguments 객체는 모든 함수 내에서 이용 가능한 지역 변수입니다. arguments 객체를 사용하여 함수 내에서 모든 인수를 참조할 수 있으며, 호출할 때 제공한 인수 각각에 대한 항목을 갖고 있습니다. 항목의 인덱스는 0부터 시작합니다
function arg(a,b,c){
console.log(arguments)
}
arg(2,3,4);
출력:
[2,3,4]
function 함수(a,b,c){
for (var i = 0; i < arguments.length; i++){
console.log(arguments[i])
}
}
함수(2,3,4);
출력:
2
3
4
//arguments: 모든파라미터들을 []에 담음
//rest parameter 이자리에 오는 파라미터를 []에 담음