JavaScript:切换非布尔值的简写

Vin*_*rma 1 javascript typescript reactjs react-native redux

有更好的速记来切换吗foo

type Foo = 'BAR' | 'BAZ';

let foo: Foo = 'BAR';

const toggleFoo = () => {
  foo = foo === 'BAR' ? 'BAZ' : foo;
};

toggleFoo();
Run Code Online (Sandbox Code Playgroud)

Nin*_*olz 5

您可以将具有相反值的对象作为值。

const toggleFoo = () => {
  foo = { BAR: 'BAZ', BAZ: 'BAR' }[foo];
};
Run Code Online (Sandbox Code Playgroud)