質問: ({navigation}) => {...} ``` の部分なのですが、navigationを引数に受け取れる仕組みが理解出来ません。 そもそも変数を{}で囲むとどういった動きをするのでしょうか。 これはreact native独自の仕様なのか、それともJSの仕様なのでしょうか。 何をキーワードに検索したら良いかもわからず困っています。 仕様の詳細が載っている文献がありましたら、ご紹介頂きたいです。
回答: 引数の分割代入といいます。 以下、サンプルです。 ``` // 引数で指定されたオブジェクトのうち、nameプロパティのみ利用する const f1 = ({ name }) => { return "hello " + name + "!!" } obj = { age: 12, name: 'hoge' } f1(obj) ``` > > "hello hoge!!" > > > 以下のような分割代入を関数の引数に適応したものです。 ``` var o = {p: 42, q: true}; var {p, q} = o; console.log(p); // 42 console.log(q); // true ``` JavaScriptは言語仕様が、ここ4、5年で大きく進化しています(ES2015,ES2016,ES2017など)。なので、一度、最近のJavaScriptについて書かれた参考書などを読まれると良いと思います。 (私は最近のJavaScriptについて学ぶために、初めてのJavaScript 第3版 ――ES2015以降の最新ウェブ開発 を購入しました。他にも良い本があると思います。)