【问题标题】:return same object after destructuring in function params [duplicate]在函数参数中解构后返回相同的对象[重复]
【发布时间】:2018-04-30 16:12:17
【问题描述】:

假设我有一个对象

var bar = {hi: 1, there: 2};

我想在函数结束时返回传递的同一个对象,同时在函数参数中进行解构赋值。

它可能看起来像这样:

function foo({hi, there}){
    //logic with variables "hi" and "there"
    return ...arguments;
}

并且返回值与bar;相同 由于显而易见的原因,传播运算符在这种情况下不起作用,但我想知道是否有一种简单的方法可以做到这一点或类似的东西。

【问题讨论】:

    标签: javascript ecmascript-6 object-destructuring


    【解决方案1】:

    分别命名和解构:

    function foo(obj) {
        let {hi, there} = obj;
        // logic with variables "hi" and "there"
        return obj;
    }
    

    【讨论】:

    • 谢谢,我想知道是否有办法在没有第二行的情况下做到这一点。
    • @anonrose:没有什么可以避免分开做。你可以滥用第二个参数让它们与function foo(obj, {hi, there} = obj) 在同一,但我不会。另一个有趣的怪癖是function foo({obj: {hi, there}, obj})foo({obj: bar}),但又一次......
    猜你喜欢
    • 2019-02-22
    • 1970-01-01
    • 1970-01-01
    • 2016-09-15
    • 2017-03-26
    • 1970-01-01
    • 1970-01-01
    • 2017-12-20
    • 1970-01-01
    相关资源
    最近更新 更多