【问题标题】:Get object that was destructured in parameter [duplicate]获取在参数中解构的对象[重复]
【发布时间】:2017-03-26 23:35:21
【问题描述】:

假设我有一个函数,该函数将解构对象作为箭头函数中的参数:

const myFunc = ({a, b, c}) => {
};

是否有任何方法或语法可以让我将整个对象也作为单个值获取?由于箭头函数不绑定arguments,所以我不能使用它。

是否可以命名它,类似于:

const myFunc = (allArgs: {a, b, c}) => {
    console.log(allArgs);
};
myFunc({a:1, b:2, c:3}); // Output: {a:0, b:1, c: 2}

显然,这不是一个交易破坏者,并且有很多解决方法(不要使用箭头函数,不要解构,或者在我需要时重新创建对象),但我想知道为了方便。

【问题讨论】:

    标签: javascript ecmascript-6


    【解决方案1】:

    你可以很容易地解构单个参数。您失去了参数中简洁的解构语法的优势,但它很容易而且仍然很清楚:

    const myFunc = (allArgs) => {
        const {a, b, c} = allArgs;
        console.log(allArgs);
    };
    

    或者,考虑是否需要箭头函数。如果您不需要访问词汇this,也许一个好的老式function() {} 可以解决问题并让您访问arguments

    【讨论】:

    • 谢谢,这些都是很好的可能性。我肯定会考虑使用普通的function 语法,但并没有考虑在方法中立即破坏。这是一种相对干净的方法。
    • 很遗憾,这不再是一个表达式,这意味着您通常还需要一个额外的 return 在末尾。
    • 其实解决了这个问题,为什么不被接受?
    猜你喜欢
    • 2023-03-18
    • 2018-04-30
    • 1970-01-01
    • 2019-06-05
    • 2014-10-10
    • 2021-09-14
    • 2018-05-09
    • 2019-04-12
    • 2018-08-11
    相关资源
    最近更新 更多