# Javascript arrow function expression
#### Reference
- [arrow function developer.mozilla.org :](https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Functions/%EC%95%A0%EB%A1%9C%EC%9A%B0_%ED%8E%91%EC%85%98)
#### 화살표 함수 표현(arrow function expression)
- function 표현에 비해 구문이 짧고
- 자신의 this, arguments, super 또는 new.target을 바인딩 하지 않습니다.
- 화살표 함수는 항상 익명입니다.
- 이 함수 표현은 메소드 함수가 아닌 곳에 가장 적당합니다.
- 그래서 생성자로서 사용할 수 없습니다.
#### 기본문법
- (param1, param2, …, paramN) => { statements }
- (param1, param2, …, paramN) => expression // 다음과 동일함: => { return expression; }
```javascript
// 매개변수가 하나뿐인 경우 괄호는 선택사항:
(singleParam) => { statements }
singleParam => { statements }
// 매개변수가 없는 함수는 괄호가 필요:
() => { statements }
```
#### 고급문법
- 객체 리터럴 식을 반환하는 본문(body)을 괄호 속에 넣음:
- params => ({foo: bar})
- 나머지 매개변수 및 기본 매개변수가 지원됨
- (param1, param2, ...rest) => { statements }
- (param1 = defaultValue1, param2, …, paramN = defaultValueN) => { statements }
```javascript
// 매개변수 목록 내 비구조화도 지원됨
var f = ([a, b] = [1, 2], {x: c} = {x: a + b}) => a + b + c;
f(); // 6
```
- 객체 리터럴 식을 반환하는 본문(body)을 괄호 속에 넣음:
- params => ({foo: bar})
- 나머지 매개변수 및 기본 매개변수가 지원됨
- (param1, param2, ...rest) => { statements }
- (param1 = defaultValue1, param2, …, paramN = defaultValueN) => { statements }
- 매개변수 목록 내 비구조화도 지원됨
```javascript
var f = ([a, b] = [1, 2], {x: c} = {x: a + b}) => a + b + c;
f(); // 6
```
'web > javascript' 카테고리의 다른 글
node javascript async series (0) | 2019.07.12 |
---|---|
Javascript Module (0) | 2019.07.12 |
Replace Tag(Script & div & B tag to strong) (0) | 2019.07.12 |
bind click event loop index (0) | 2019.07.12 |
Javascript Async, Await 심화 (0) | 2019.07.12 |
댓글