화살표 함수
ES6에 추가된 내용으로 '=>'를 이용하여 함수를 간결하게 표현할 때 사용
1) function 키워드를 생략하고
2) 부등호 '='과 '>'를 합쳐서 코딩하고
3) 항상 익명함수 형식으로 표현
4) 단일 명령문일 경우 함수의 중괄호 {} 와 return을 생략
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
const doAddition1 = (s1, s2) => (s1 + s2) / 2;
console.log(doAddition1(2, 5));
const doAddition2 = function(s1, s2) {
return(s1 + s2) / 2;
}
console.log(doAddition2(2, 5));
</script>
두개의 결과 값은 똑같다, 위에거를 길게 쓴게 밑에거
화살표 함수를 이용한 메소드
익명 함수와 화살표 함수는 객체의 메소드로 사용될 때 this 키워드 다루는 방식이 다름,
익명 함수는 객체를 반환하지만
화살표 함수는 기본적으로 window객체를 반환하고, 상황에 따라 또 다른 객체를 반환할 수 있음
따라서 화살표 함수는 메소드에서 잘 사용하지 않음.
<script>
const test = {
a: function () { // 익명함수로 선언
console.log(this)
},
b: () => { // 화살표 함수로 선언
console.log(this)
}
};
//메소드를 호출합니다.
test.a();
test.b();
</script>
</head>
<body>
</body>
</html>