클린코드 자바스크립트 - 유데미
//옛날 방식, ||연산자를 사용해서 기본값 설정
function createCarousel(options){
options = options || {}; //옵션 값이 빈값일 경우 아래 에러 방지
var margin = options.margin || 0;
var center = options.center || false;
}
//ES2015 구조분해 할당 사용하여 기본값 설정
function createCarousel({
margin = 0,
center = false
} = {}){ // {...} = {} 이부분은 옛방식 코드에서 options = options || {}; 역할
}
const required = (argName) =>{
throw new Error('required is ' + argName);
}
function createCarousel({
items = required('items'),
margin = 0,
center = false
} = {}){
//...some code
return {
margin,center
}
}
console.log( //items가 없어 기본 값인 required('items')가 할당된 함수가 실행됨
//requires is items 오류 발생
createCaopusel({
center: true
})
)
leftExpr ?? rightExpr
let a = null ?? 'hello'; //'hello'
let b = '' ?? true; //''
let c = false ?? true; //false
let d = 0 ?? 1; //0
let e = undefined ?? 'world'; //'world'
왼쪽이 null이나 undefined일때만 오른쪽 피연산자를 return
or연산자(||)는 null, undefined 뿐만 아니라 falsy 값이면 오른쪽 피연산자를 return