繁体   English   中英

JavaScript:var {left,... props} = this.props;

[英]JavaScript: var {left, …props} = this.props;

我正在阅读Facebook的固定数据表的源代码,我发现了这一点

var {left, ...props} = this.props;

这意味着什么? 这是一个新的语义? 我很困惑

这是为ES7提出的一种特殊形式的解构分配(并且在jsx工具和Babel中热切地实现)。 它创建了两个变量: leftprops

left具有this.props.left的值。

props是一个具有this.props所有其他属性的this.propsleft除外)。

如果你在没有解构的情况下编写它,它看起来像这样:

var left = this.props.left;
var props = {};

Object.keys(this.props).forEach(function(key, index){
    if (key !== 'left') {
        props[key] = this.props[key];
    }
}, this);

这超过了几个字符剃掉了:-)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM