アロー関数の書き方
アローとは弓矢と言う意味
アロー関数とは...無名関数を記述しやすくした省略記法
() => {};
// 1.関数
function a(name){
return 'hello' + name;
}
// 2.関数式
const b = function(name){
return 'hello' + name;
}
// 3.アロー関数の場合①−1
const b = (name) => {
return 'hello' + name;
}
// 4-1.引数が1つの場合は「 ( ) 」はいらない。
const b = name => {
return 'hello' + name;
}
// アロー関数完成!!!!
// 5-1.定義の本文が1行の場合は、「 { } 」「 return 」 いらない
const b = name => 'hello' + name;
// 5-2.定義の本文が2行の場合は、「 { } 」「 return 」必要
const b = name => {
'hello' + name;
}
// 関数の実行
console.log('Tom'); //hello Tom
// 6.引数が2つの場合
const b = (name, name2) => {
return 'hello' + name + ' ' + name2;
}
console.log(Tom,Bob) //hello Tom Bob
// 7. ダミー変数作成の場合
const b = _ => 'hello';
orばtr
const b = () => 'hello';
// 8.
無名関数 | アロー関数 | |
---|---|---|
this | ◯ | × |
arguments | ◯ | × |
new | ◯ | × |
prototype | ◯ | × |
「アロー関数」と「this」の違い
name = 'John'
const person = {
name:'Tom';
// hello: () => { アロー関数の場合
hello: function() {
console.log('Hello' + this.name);
}
}
person.hello(); //Hello Tom アロー関数にしていない場合
person.hello(); //Hello John アロー関数にした場合
thisは「this」、「arguments」を取らないので、スコープチェーンを使ってレキスカルスコープで「John」を見つける
オブジェクトのメソッドとして実行される場合
this
=> 呼び出し元のオブジェクト
関数(アロー関数)のメソッドとして実行される場合
this
=> グローバルオブジェクト