对象解构分配如何工作?
How object destructuring assignments work?
这个语句怎么赋值?
var { AppRegistry, View, StyleSheet, ListView } = React;
这是 ECMAScript 6 中即将推出的 destructuring assignment。
var s = { a: 1, b: 2 }
var { a, b } = s;
会将 1
分配给 a
,将 2
分配给 b
。
据推测,React
是一个具有属性AppRegistry
、View
等的对象,并且它们的值被分配给具有相同名称的变量。
在回答这个问题时,此语法尚未广泛使用。
正如Amadan所说,这是ES6中的一个新特性。 ES6 即将发布,所有现代浏览器最终都会支持它。许多项目使用 Babel 与 webpack 一起将代码编译为 ES5 语法,以便它可以在任何浏览器上使用。
React native 有自己的转换,支持部分 ES6:
https://facebook.github.io/react-native/docs/javascript-environment.html#content
所以如果你使用他们的打包器,你不需要 Babel 和 webpack。在未来的版本中,facebook 可能也会使用 Babel。
这个语句怎么赋值?
var { AppRegistry, View, StyleSheet, ListView } = React;
这是 ECMAScript 6 中即将推出的 destructuring assignment。
var s = { a: 1, b: 2 }
var { a, b } = s;
会将 1
分配给 a
,将 2
分配给 b
。
据推测,React
是一个具有属性AppRegistry
、View
等的对象,并且它们的值被分配给具有相同名称的变量。
在回答这个问题时,此语法尚未广泛使用。
正如Amadan所说,这是ES6中的一个新特性。 ES6 即将发布,所有现代浏览器最终都会支持它。许多项目使用 Babel 与 webpack 一起将代码编译为 ES5 语法,以便它可以在任何浏览器上使用。
React native 有自己的转换,支持部分 ES6:
https://facebook.github.io/react-native/docs/javascript-environment.html#content
所以如果你使用他们的打包器,你不需要 Babel 和 webpack。在未来的版本中,facebook 可能也会使用 Babel。