奇怪但工作的ecmascript代码

Jos*_*iga 2 javascript ecmascript-6 reactjs

我看到了这段代码:

const boxTarget = {
  drop({
    allowedDropEffect
  }) {
    return {
      name: `${allowedDropEffect} Dustbin`,
      allowedDropEffect,
    }
  },
}
Run Code Online (Sandbox Code Playgroud)

似乎drop是一个函数,它的参数{ allowedDropEffect }将是一个对象?一类?怎么下降可以使用?

Ser*_*sev 6

对于这样的情况,当你不知道ES6的这个部分是什么时,将新语法"愚蠢"到较旧的语法可能是有用的.这就是这个解构分配可以写成:

var boxTarget = {
  drop: function drop(_ref) {
    var allowedDropEffect = _ref.allowedDropEffect;

    return {
      name: allowedDropEffect + " Dustbin",
      allowedDropEffect: allowedDropEffect
    };
  }
};
Run Code Online (Sandbox Code Playgroud)