私は小さなAPIに取り組んでおり、ifステートメントの束を使用せずにHTTP PATCH REQUEST
を使用してデータを更新したいと考えています。変更されたデータのみで送信データオブジェクトを埋めようとしています。
update() {
let prop1 = hasBeenChanged.prop1 ? changedData.prop1 : null;
// ...
let propN = hasBeenChanged.propN ? changedData.propN : null;
let data: ISomething = {
// something like --> property != null ? property: property.value : nothing
}
}
データオブジェクトを動的に作成する方法はありますか?
Object.assign
:
let data = Object.assign({},
first === null ? null || {first},
...
);
これは、Object.assign
はnull
パラメータをスキップします。
プロパティ値が「偽物」にならないことが確実な場合は、次のように書く方が少し短くなります。
let data = Object.assign({},
first && {first},
...
);
オブジェクトがある時点で文字列化されると仮定すると、文字列化は未定義の値を無視するので、
let data = {
first: first === null ? undefined : first,
...
}