在React原生网站中,有以下代码行:
var React = require('react-native');
var { TabBarIOS, NavigatorIOS } = React;
在示例的第二行中,TabBarIOS和NavigatorIOS变量周围括号的含义是什么?
答案 0 :(得分:7)
这称为解构赋值。它是ECMAScript 6规范中引入的一个新功能。
以下是一个示例对象:
var test = {
"hello": 1,
"world": 2
}
如果我们这样解构它:
var {hello, world} = test;
这相当于:
var hello = test.hello,
world = test.world;
但是,你可以通过解构分配来做更多有趣的事情......
让我们说我们有这个对象:
var bucket = {
ExampleObject: function(input){
this.input = input.trim();
return this.input;
},
TestingObject: function(example){
this.example = example || {};
console.log(this.example.input);
}
}
仅仅为了记录,我给了成员讨厌的名字......所以当解构时,我们可以像这样重命名:
var {ExampleObject: Example, TestingObject: Test} = bucket;
绑定模式遵循如下语法:
{ObjectMemberName}
// Or
{ObjectMemberName: VariableName}