Javascript アロー関数について

アロー関数についてです

アロー関数

無名関数を記述しやすくした省略記法
thisやargumentが使えない
()=>{};
function a(name){
return 'hello' + name;
}
//関数式
const b = function(name){
return 'hello' + name;
}
//アロー関数
const c = (name,name1) => 'hello'+ name+name1;
console.log(c('bob','tom')) //hello bob tom
/*--
波括弧を使う時はreturnを
const c = () =>{
return 'hello';
}
--*/

アロー関数のthis

window.name = 'John';

const person = {
name: 'Tom',
hello: function() {
console.log('Hello ' + this.name); //hello tom
a(); //bye john アロー関数の時はレキシカルスコープに探しにいく
const b = () => console.log('Bye ' + this.name );
b(); //bye tom ひとつ上の段階に探しにいくため、
}
/*--この省略記法の時は無名関数 上と同じ
hello(){
console.log('Hello ' + this.name);
}
--*/
}
const a = () => console.log('Bye ' + this.name );
person.hello();
//person.hello();
function c(){
const b = () => console.log('Bye ' + this.name );
b();
}
c(); //bye john この時のレキシカルスコープはグローバルスコープになるため

投稿者 @rongai