05-3. Arrow function
ํ์ดํ ํจ์(Arrow function)
ํ์ดํ ํจ์๋ ES6๋ฌธ๋ฒ์ ๋๋ค. function ํค์๋ ์ฌ์ฉํด์ ํจ์๋ฅผ ๋ง๋ ๊ฒ๋ณด๋ค ๊ฐ๋จํ ํจ์๋ฅผ ํํํ ์ ์์ต๋๋ค. ํ์ดํ ํจ์๋ ํญ์ ์ต๋ช ์ ๋๋ค.
1. ํ์ดํ ํจ์์ ๊ธฐ๋ณธ๋ฌธ๋ฒ
// ๋งค๊ฐ๋ณ์๊ฐ ์๋ ๊ฒฝ์ฐ
const foo = () => console.log('bar');
foo(); // bar
// ๋งค๊ฐ๋ณ์๊ฐ ํ๋์ธ ๊ฒฝ์ฐ (๊ฐ๋ก๊ฐ ํ์ ์๋ค.)
const foo = x => x;
foo('bar'); // bar
// ๋งค๊ฐ๋ณ์๊ฐ ์ฌ๋ ค๊ฐ์ธ ๊ฒฝ์ฐ (๊ฐ๋ก๊ฐ ํ์ ํฉ๋๋ค.)
const foo = (a, b) => a + b; // ๊ฐ๋จํ๊ฒ ํ์ค๋ก ํํํ ๋ "{}" ์์ผ๋ฉด ๊ฐ์ด ๋ฐํ(retuen)๋ฉ๋๋ค.!!
foo(1, 2); // 3
const foo = (a, b) => { return a + b };
foo(1, 2); // 3
const foo = (a, b) => { a + b }; // "{}"๋ฅผ ์ฌ์ฉํ๋๋ฐ return์ด ์์ ๋
foo(1, 2); // undefined
const foo = (a, b, c = 0) => { // ์ฌ๋ฌ์ค ์ผ์ ๊ฒฝ์ฐ
return a + b + c;
}
foo(1, 2, 3) // 6
// ์ฆ์์คํํจ์๋ ์๋์ ๊ฐ์ด ํํํ ์ ์๋ค.
(() => {
console.log('foo');
})(); // foo
/*
1) "{}"์ ์ฌ์ฉํ ๋๋ ์ฌ๋ฌ์ค์ ์ผ์ ๋ ์ฌ์ฉํฉ๋๋ค.
2) "{}"๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ์ ๋ฐํํ ๋ return์ ์ฌ์ฉํด์ผํฉ๋๋ค.
3) ๊ฐ๋จํ๊ฒ ํ์ค๋ก ํํํ ๋ "{}" ์์ผ๋ฉด ๊ฐ์ด ๋ฐํ(retuen)๋ฉ๋๋ค.!!
4) "{}"๋ฅผ ์ฌ์ฉํ์ง ์์ผ๋ฉด undefied๋ฅผ ๋ฐํํฉ๋๋ค.
*/
// ๊ฐ์ฒด๋ฅผ ๋ฐํ(return)ํ ๋
const foo = () => ( { a: 1, b: 2, c: 3 } );
foo(); // { a: 1, b: 2, c: 3 };
2. ์ฝ๋ฐฑ ํจ์์์ ์ฌ์ฉํ๊ธฐ
// ES5
var numbers = [1, 4, 9];
var oddArr = numbers.filter(function (x) { return x % 2 !== 0;});
console.log(oddArr); // [1, 9]
// ES6
var numbers = [1, 4, 9];
var oddArr = numbers.filter( x => (x % 2) !== 0 );
console.log(oddArr); // [1, 9]
Last updated
Was this helpful?