Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 정규표현식
- 무료 백엔드 배포
- select by attribute
- flex-shrink
- node
- ajax
- Express
- css grid
- regExp
- flexbox
- close together
- just-one-small-sip
- Engoo
- JS
- 디자인패턴
- img 확대
- Object.create
- express-handlebars
- css
- flex-basis
- Node.js
- css 오버레이
- Sass
- Prototype
- css variables
- improve-iq-by-up-to-10%!
- module wrapper function
- es6
- flex-grow
- shit-christmas
Archives
- Today
- Total
ES6 Arrow Function 본문
ES6에서 추가된 화살표함수를 이용하면 코드를 좀 더 짧고, 깔끔하게 작성할 수 있습니다.
아래 코드를 참조해 생략 시 주의할 점들을 파악하면 좋을 것 같아요.
또한 화살표함수를 이용하면 this 키워드의 binding이 이루어지지 않기 때문에 this를 사용할 때 주의가 필요합니다.
// 기본 함수
const sayHello = function () {
console.log("Hello");
}
sayHello();
// function 키워드를 화살표로 대체할 수 있다.
const sayHelloArrow = () => {
console.log("Hello Arrow");
};
sayHelloArrow();
// 함수의 내용이 한 문장이라면 다음과 같이 중괄호를 없앨 수 있다.
const sayHelloArrowCompactWhenOneLine = () => console.log("Hello Arrow Compact");
sayHelloArrowCompactWhenOneLine();
// return 문만 필요하다면 return 키워드를 생략한다.
const sayHelloArrowCompactWhenOnlyReturn = () => "hello return compact";
console.log(sayHelloArrowCompactWhenOnlyReturn());
// 만약 객체 리터럴을 리턴하려고 할 경우 소괄호를 이용한다
const sayHelloCompactReturnObject = () => ({ msg: "hello object"});
console.log(sayHelloCompactReturnObject().msg);
// 매개변수가 하나일 때는 소괄호 생략이 가능하다.
const sayHelloSingleParam = name => console.log(`Hello ${name}`);
sayHelloSingleParam("jian");
// 다중 매개변수의 경우 소괄호를 입력해주어야한다.
const sayHelloMultipleParam = (firstName, lastName) => console.log(`Hello ${firstName} ${lastName}`);
sayHelloMultipleParam("jian", "dev");
// 다른 함수의 인자로 넘겨받는 경우
const users = ["Hero", "Human", "Evil"];
const nameLength = users.map(name => name.length);
console.log(nameLength);
'2021 프론트 엔드 로드맵 따라가기 > JS' 카테고리의 다른 글
Error Handling in JS (0) | 2021.06.12 |
---|---|
ES7 Async & Await (0) | 2021.06.09 |
ES6 Fetch API (0) | 2021.06.09 |
ES6 Promise (0) | 2021.06.09 |
AJAX POST request (0) | 2021.06.07 |
Comments