νμ΄ν ν¨μ(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]