繁体   English   中英

如何从对象中解构并保持相同的对象?

[英]How to destructure from an object and keep the same object?

我想向一个字段添加一个事件侦听器,例如这个

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

有没有一种干净的方法来保留event并从中解构keyCode ,因为我两者都需要?

您可以在新的 const 变量中解构对象。

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

您可以解构对象,在参数列表中,对象没有消失,但您可以从arguments object 中提取它。

这不会使代码更好......

 function perform({ baz }) { console.log(baz); console.log(arguments[0]); } var object = { foo: 'bar', baz: 42 }; perform(object);

你可以像,

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

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

好吧,不幸的是,不,不是我想你的意思。 你可以这样做:

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

不过,这可能不是很有帮助,因为我确定您想在事件处理程序的参数列表中解构。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM