함수의 선언을 function 선언 대신에 => 기호를 사용한다.

밑의 네 함수 모두 같은 기능을 하는 함수이다.

function add1(x, y){
	return x + y;
}

const add2 = (x, y) => {
	return x + y;
}

const add3 = (x, y) => x + y;

const add4 = (x, y) => (x + y);

console.log(add1(1,2));
console.log(add2(1,2));
console.log(add3(1,2));
console.log(add4(1,2));

this 바인딩 방식

var relationship1 = {
	name: "zero",
  friends: ['nero', 'hero', 'xero'],
  logFriends: function() {
  	var that = this; 
    // forEach문 안의 function의 this와 logFriends의 this(relationship1)는 서로 다르므로.
    this.friends.forEach(function(friend){
    	console.log(that.name, friend);
    });
  },
};

relationship1.logFriends();
-----
결과
"zero", "nero"
"zero", "hero"
"zero", "xero"

만약 저기서 that을 this로 바꾸면 결과가 이렇게 나온다.

"result", "nero"
"result", "hero"
"result", "xero"

forEach문 안쪽의 함수를 화살표로 선언해주면 바깥 스코프의 this를 사용할 수 있다.

var relationship2 = {
	name: "zero",
  friends: ['nero', 'hero', 'xero'],
  logFriends() {
  	var that = this;
    this.friends.forEach(friend => {
    	console.log(this.name, friend);
    });
  },
};

relationship2.logFriends();