setTaxByName
, setQuantityByName
)<aside> 💡 함수 이름에 있는 암묵적 인자이다.
</aside>
setTaxByName
, setQuantityByName
)
[
{},
{},
{},
]
// 객체를 필드명에 따라 최신화 시켜주는 함수
function setFieldByName(cart, name, field, value){
const item = cart[name];
// item = shoes: { name: 'shoes', price: 10 }
// 객체에 기존 필드가 있으면 수정, 없으면 동적으로 필드 추가된다.
const newItem = objectSet(item, field, value);
// 객체가 최신화 된다.
const newCart = objectSet(cart, name, newItem);
return newCart;
}
cart = setFieldByName(cart, "shoe", 'price', 13)
cart = setFieldByName(cart, "shoe", 'quantity', 3)
cart = setFieldByName(cart, "shoe", 'shipping', 0)
cart = setFieldByName(cart, "shoe", 'tax', 2.34)
<aside> 💡 식으로 쓸 수 있는 값을 “일급”이라고 한다. 혹은 변수에 담을 수 있는 것은 “일급”이라고 할 수 있다.
</aside>
그래서 일급 값이라고 부른다.
일급 이라고 부를 수 없는 것들
<aside> 💡 모두다 변수에 담을 수 없다.
</aside>