在React本机网站中,有以下代码行:
var React = require('react-native');
var { TabBarIOS, NavigatorIOS } = React;
Run Code Online (Sandbox Code Playgroud)
在示例的第二行中,TabBarIOS和NavigatorIOS变量周围括号的含义是什么?
小智 7
这称为解构赋值.这是ECMAScript 6规范中引入的新功能.
这是一个示例对象:
var test = {
"hello": 1,
"world": 2
}
Run Code Online (Sandbox Code Playgroud)
如果我们像这样解构它:
var {hello, world} = test;
Run Code Online (Sandbox Code Playgroud)
这相当于:
var hello = test.hello,
world = test.world;
Run Code Online (Sandbox Code Playgroud)
但是,你可以通过解构分配来做更多有趣的事情......
让我们说我们有这个对象:
var bucket = {
ExampleObject: function(input){
this.input = input.trim();
return this.input;
},
TestingObject: function(example){
this.example = example || {};
console.log(this.example.input);
}
}
Run Code Online (Sandbox Code Playgroud)
仅仅为了记录,我已经给成员烦人的名字......所以当解构时,我们可以像这样重命名:
var {ExampleObject: Example, TestingObject: Test} = bucket;
Run Code Online (Sandbox Code Playgroud)
绑定模式遵循如下语法:
{ObjectMemberName}
// Or
{ObjectMemberName: VariableName}
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请查看ECMAScript 6规范草案或MDN文档
| 归档时间: |
|
| 查看次数: |
1291 次 |
| 最近记录: |