Podmíněné vlastnosti s rozšířením objektu

Kris Urbas sdílel opravdu úhledný trik, jak se vypořádat s podmíněnými vlastnostmi objektu pomocí operátoru rozprostření objektů (aktuálně ve fázi návrhu 3).

const shouldAddProp2 = false;
const obj = {
  prop1: 2,
  ...shouldAddProp2 && { conditionalProp2: 2 }
}

// it's like
// Object.assign( obj, ( shouldAddProp2 && { conditionalProp2 : 2 } ) );

console.log( obj );

Dnes se mi tento úryvek stále špatně čte, takže musím přijít na to, jestli to mám v budoucnu použít, ale je to určitě dobrý trik. Můžete si s tím pohrát v Babel repl.