전달된 파라미터 객체의 키값에 따라 실행되는 쿼리문이 달라지는 로직을 작성하면서
조건부로 key 값을 넣는 방법을 찾아보았다.
let isAdd = true;
let obj = {
a: 1,
b: 2,
}
if (isAdd) {
obj.c = 3 // {a: 1, b: 2, c: 3}
} else {
delete(obj.b); // {a: 1}
}
let isAdd = true;
let obj = {
a: 1,
b: 2,
}
if (isAdd) {
obj.c = 3 // {a: 1, b: 2, c: 3}
obj.d = 4 // {a: 1, b: 2, c: 3, d: 4}
obj.e = 5 // {a: 1, b: 2, c: 3, d: 4, e: 5}
} else {
delete(obj.b); // {a: 1}
}
스프레드 문법과 조건문을 이용하여 심플하게 객체의 key 값을 넣을 수 있다.
let isAdd = true;
let obj = {
a: 1,
b: 2,
...(isAdd && { c: 3 }),
}