如何从一个对象上解构并保持相同的对象?

时间:2019-12-11 13:06:41

标签: javascript

我想将事件侦听器添加到这样的字段中

field.addEventListener("keyup", (event) => {
  if (event.keyCode === 13) {
      event.preventDefault();
      // do something
  }
});

是否有一种干净的方法可以保留event并从中破坏keyCode,因为我同时需要两者?

4 个答案:

答案 0 :(得分:2)

您可以将其分解为对象,在参数列表中,该对象没有消失,但是可以将其从arguments object中拉出。

哪个代码不会更好...

function perform({ baz }) {
    console.log(baz);
    console.log(arguments[0]);
}

var object = { foo: 'bar', baz: 42 };

perform(object);

答案 1 :(得分:1)

您可以在新的const变量中破坏对象。

field.addEventListener("keyup", (event) => {
  const { keyCode } = event;
  if (keyCode === 13) {
      event.preventDefault();
      // do something
  }
});

答案 2 :(得分:1)

您可能会喜欢,

const use = (i, cb) => cb(i, i)

use(doSomething(), (event, { keyCode }) => {
    // 
});

答案 3 :(得分:0)

不幸的是,不,不是我想的那样。您可以执行以下操作:

field.addEventListener("keyup", event => {
  // whatever you want to destructure
  const {keyCode} = event; 
  if (keyCode === 13) {
      event.preventDefault();
      // do something
  }
});

但是,这可能没有太大帮助,因为我确定您想在事件处理程序的参数列表中进行分解。