const func = function(x,y,z) {
x = x : 4
y = y || 5
console.log(x,y)
}
func(0,null) // 4, 5
기존 문법은 의도적으로 0,null,false한 값을 표현 하고싶어도 할 수가 없다...
ES6에서는 값이 누락되거나 undefiend 일경우에 만 기본값을 쓰는 default parmeter 사용할 수 있다.
const func = function (a = 1, b = 2, c = 3, d = 4, e = 5, f = 6) {
console.log(a, b, c, d, e, f)
}
func(7, 0, "", false, null) // 7,0,'',false,null,6
const func = function(x = 1, y = x+ 10) {
console.log(x,y)
}
func(1) //1 11
const notValue = function() {
console.log('not value')
}
const func = function(x= notValue()) {
console.log(x)
}
func() //not value
const func = function(x=1,y=2) {
console.log(arguments)
}
func() //비어있음
값이나 식으로 값을 지정해줄때 호출 순서를 신경써줘야 하며 동일한 네이밍은 피한다.
const func = function(x= y+1 , y=2) {
console.log(x,y)
}
func() //에러
const func2 = function()
arguments 를 대체 할수 있는 ES6 문법 parameter 마지막에 오며 배열로 반환한다.
const func = function (x, y, ...rest) {
console.log(...rest)
}
func(1, 2, 3, 4, 5, 6) //[3,4,5,6]
항상 마지막에 와야한다
const func = function (...rest, x) {
console.log(...rest)
}
func(1,2,3,4,5) //에러