function 더하기(a,b) {
console.log(a+b)
}
더하기(1) // 이렇게 파라미터 하나 빼먹어도 에러 안남
default parameter
파라미터의 디폴트값을 미리 설정해놓을 수 있음 - if문 ~~ 해서 해놓을 수도 있지만 간단하게 가능
(a, b = 10) // 파라미터 설정 안해놓은 경우 10으로 넣어짐
더하기(1) // 11
더하기(1,2) // 3 파라미터 제대로 넣었으면 저건 발동안함
다양한 수학연산자도 쓸 수 있음(ex. b = 2*a)
함수도 쓸 수 있음
function 함수() {~~~~
return 10}
(a, b = 함수() )
중요한건 안썼을 때만 발동한다는거 - 제대로 쓰면 발동안함
arguments
function 함수(a,b,c) {
console.log(arguments)
}
함수(1,2,3) - [1,2,3]이라는 array가 나옴
= arguments는 내가 입력한 모든 파라미터를 []안에 넣어줌
array가 되니까 forEach같은것도 다 이용가능
Rest
arguments 대용으로 나온 문법
이것도 ...으로 나타내는데 중요한건 함수 파라미터 자리에 쓰이면 rest고 나머지는 다 괄호 없애주는 역할로 쓰임
function 함수(...파라미터) {
console.log(파라미터)
}
함수(1,2,3,4,5,6,7) // [1,2,3,4,5,6,7]
이렇게 파라미터 자리에 넣은 값들을 array로 뽑아줌 - 여기까지는 arguments와 똑같지만
rest는 내가 파라미터에서 뽑고 싶은 값들만 따로 지정할수가 있음
function 함수2(a,b,...파라미터) {
console.log(파라미터)
}
함수2(1,2,3,4,5,6,7) // [3,4,5,6,7]
*for문 이용해서 하나씩 출력
function 함수(...rest) {
for (let i of rest) {console.log(i)}
}
주의점
rest 닉값에 맞게 (...rest,a,b) 이런거 안됨 - 무조건 rest가 맨 마지막에 와야됨
'JS' 카테고리의 다른 글
class 함수 (0) | 2022.10.01 |
---|---|
prototype (0) | 2022.10.01 |
Apply/Call (0) | 2022.09.30 |
spread operator (0) | 2022.09.30 |
JS setTimeout / setInterval (0) | 2022.09.21 |