使用保留关键字作为扩展运算符的对象键

时间:2017-07-04 10:07:45

标签: javascript spread-syntax

假设我有一个看起来像这样的对象

const props = {
    delete: function() {
        // stuffs
    },
    hello: 'hello',
    other: 'other', 
}

现在说我使用传播运算符并执行类似的操作

const {hello, ...otherStuffs} = props;

然后对于otherStuffs,我仍然得到一个props副本的对象,但hello键除外。

但是如果我不想要对象的delete键呢?我不能像上面那样做,因为显然delete是保留关键字。

const {delete, ...otherStuffs} = props; // error here

然而,我仍然可以从对象中过滤不等于'删除'的键并获取我的对象,但有没有办法使用扩展运算符

1 个答案:

答案 0 :(得分:3)

您可以通过对delete的{​​{1}}属性进行别名来实现。你可以试试这个

props

参考:Invalid JavaScript identifier as a property name