ES6

default parameters , rest parameters ,arrow function ,arguments [ES6]

신입주니어개발자 2021. 11. 24. 15:43

 

 

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을 생략할수잇다

 

근데 리턴값 있을거면 중괄호 {} 표시해야됨

 

    const renderCartImage = (images) => {
        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 이자리에 오는 파라미터를 []에 담음