Javascript 奇怪但正常工作的ecmascript代码

Javascript 奇怪但正常工作的ecmascript代码,javascript,reactjs,ecmascript-6,Javascript,Reactjs,Ecmascript 6,我看到了这个代码: const boxTarget = { drop({ allowedDropEffect }) { return { name: `${allowedDropEffect} Dustbin`, allowedDropEffect, } }, } drop似乎是一个函数,它的参数{allowedropefect}将是一个对象?一节课?如何使用drop?这是传递的参数的一个属性,名为allowedropefect,此语

我看到了这个代码:

const boxTarget = {
  drop({
    allowedDropEffect
  }) {
    return {
      name: `${allowedDropEffect} Dustbin`,
      allowedDropEffect,
    }
  },
}

drop似乎是一个函数,它的参数
{allowedropefect}
将是一个对象?一节课?如何使用drop?

这是传递的参数的一个属性,名为
allowedropefect
,此语法也称为解构赋值

const-boxTarget={
删除({allowedropefect}){
返回{
名称:“${AllowedRopeEffect}垃圾箱”,
AllowedRopeffect
}
}
}
log(boxTarget.drop({allowedropefect:“Ele”,country:“委内瑞拉”}));
//                                                        ^
//                                                        |

//+----此键将被跳过。
对于此类情况,当您不知道这段ES6的功能时,将新语法转换为旧语法可能会很有用。这就是这个分解任务可以写成的内容:

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

    return {
      name: allowedDropEffect + " Dustbin",
      allowedDropEffect: allowedDropEffect
    };
  }
};

这是参数分解,它正在从隐含的传入对象中拉出属性
AllowedRopeEffect
。就是这样,没有看到它,抱歉。