====== アロー関数 ====== ===== 基本構文 ===== //基本 let getPlusValue = (a, b) => { return a + b } //中身が1文なら中括弧{}を省略できる let getPlusValue = (a, b) => return a + b //引数がひとつなら、丸括弧()を省略できる let getPlusValue = a => return a //引数がなければ括弧は必要 let getPlusValue = () => return 9 ===== ES6以前との比較 ===== //ES6以前 let doFunc = function(x){ console.log(x) } //アロー関数を使った書き方…functionがない let doFunc = (x) => { console.log(x) } ===== thisについて ===== ES6以前の書き方の中にあるthisは、コードを記述した時点はthisはきまらず、呼び出されたオブジェクトになった。 アロー関すではコードを記述した時点で、thisを定義したコンテキストとする。 [[https://qiita.com/mejileben/items/69e5facdb60781927929|【JavaScript】アロー関数式を学ぶついでにthisも復習する話]] [[https://qiita.com/may88seiji/items/4a49c7c78b55d75d693b|JavaScript アロー関数を説明するよ]] ===== サンプル ===== async getAsyncStorage(name) { const value = await AsyncStorage.getItem(name) return value } getAsyncStorage = async(name)=>{ const value = await AsyncStorage.getItem(name) return value } ===== argumentsオブジェクトを持たない ===== アロー関数内部ではargumentsオブジェクトにアクセスすることができない。 var fn1 = function (param) {console.log(arguments[0]);}; fn1('hoge'); // hoge var fn2 = (param) => {console.log(arguments[0])}; fn2('fuga'); // Error: arguments is not defined