함수표현방법
by Soob
javascript에서 함수 만드는 방법 3가지
- 내가 보기에 편한 방법
function foo(x, y) {
const result = x + y;
return result;
}
foo(1, 2); //3
- 익명 함수를 변수에 할당 하는 방법
function(x, y) {
return x + y;
}
위와 같은 익명 함수를 foo에 할당.
const foo = function(x, y) {
return x + y;
}
foo(1, 2); //3
- 화살표 함수
const foo = (x, y) => {
return x + y;
}
위와 같이 { }내용이 하나의 구문으로 돼있으면,
const foo = (x, y) => x + y;
더 축약 할 수 있다.
- 화살표 함수의 다른점
- 생성자로 사용될 수 없다. 즉, prototype 속성을 가지고 있지 않다.
- 자기 자신의 this, arguments, super를 가지지 않는다. (함수가 정의된 스코프의 this를 가르킨다.)
- 내부에서 yield 키워드를 사용 할 수 없다. 즉, 제너레이터로 상용 불가능
이와 같은 특징 때문에 화살표 함수는 함수를 값으로 다루어야 하는 경우(ex. 함수를 다른 함수의 인수로 주는 경우) 사용 된다.
예)
function AObject(name){
this.name;
this.getName = () => {return this.name;}
}
//위의 화살표 함수의 this는 AObject 함수 스코프의 this를 카리킨다.
Subscribe via RSS