使用语句传播语法 ES6
Spread syntax ES6 with statement
我尝试用扩展语法编写三元运算符并复制两个对象。是否可以在文字对象中使用带有扩展语法的三元运算符?我的代码工作正常,我只是想优化它。
hintStyle: disabled ? {...globalStyles.hint, ...globalStyles.hintDisabled} : globalStyles.hint,
我想这样写:
hintStyle: {...globalStyles.hint, {disabled ? ...globalStyles.hintDisabled : {}}},
传播,它是对象字面量语法的一部分(或者至少在提案被接受时会是)。你需要写
{...globalStyles.hint, ...(disabled ? globalStyles.hintDisabled : {})},
我 运行 今天遇到了同样的问题,我的用例很简单,我可以这样做:
// given any-typed parameters a and b, I want to append b to a
// if a is iterable, I want to use spread.
// Initially I had:
const fn1 = (a, b) => [Symbol.iterator in a ? ...a : a, b]
// This was my solution:
const fn2 = (a, b) => Symbol.iterator in a ? [...a, b] : [a, b];
我尝试用扩展语法编写三元运算符并复制两个对象。是否可以在文字对象中使用带有扩展语法的三元运算符?我的代码工作正常,我只是想优化它。
hintStyle: disabled ? {...globalStyles.hint, ...globalStyles.hintDisabled} : globalStyles.hint,
我想这样写:
hintStyle: {...globalStyles.hint, {disabled ? ...globalStyles.hintDisabled : {}}},
传播
{...globalStyles.hint, ...(disabled ? globalStyles.hintDisabled : {})},
我 运行 今天遇到了同样的问题,我的用例很简单,我可以这样做:
// given any-typed parameters a and b, I want to append b to a
// if a is iterable, I want to use spread.
// Initially I had:
const fn1 = (a, b) => [Symbol.iterator in a ? ...a : a, b]
// This was my solution:
const fn2 = (a, b) => Symbol.iterator in a ? [...a, b] : [a, b];