Frontend/Javascript

[Javascript] ν™”μ‚΄ν‘œ ν•¨μˆ˜(Arrow Function)

oneyenee 2023. 9. 13. 17:19
πŸ’‘
ν™”μ‚΄ν‘œ ν•¨μˆ˜(Arrow Function)

ES6λΆ€ν„° λ„μž…λœ 문법. function ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•΄ ν•¨μˆ˜λ₯Ό λ§Œλ“œλŠ” 것보닀 κ°„λ‹¨ν•˜κ²Œ ν•¨μˆ˜λ₯Ό ν‘œν˜„ν•  수 있음

 

 

ν™”μ‚΄ν‘œ ν•¨μˆ˜λŠ” ν•¨μˆ˜ν‘œν˜„λ²•μ„ 쑰금 더 κ°„κ²°ν•˜κ²Œ μ“°λŠ” 방법에 가깝닀.

 

// ν•¨μˆ˜ ν‘œν˜„μ‹
let hello = function() {
     return "μ•ˆλ…•ν•˜μ„Έμš”";
}
// ν™”μ‚΄ν‘œ ν•¨μˆ˜
let hello = () => "μ•ˆλ…•ν•˜μ„Έμš”";

ν™”μ‚΄ν‘œ ν•¨μˆ˜μ˜ 문법

λ§€κ°œλ³€μˆ˜

  • λ§€κ°œλ³€μˆ˜κ°€ ν•œ 개 μΌλ•ŒλŠ” μ†Œκ΄„ν˜Έ μƒλž΅μ΄ κ°€λŠ₯.
  • λ§€κ°œλ³€μˆ˜κ°€ μ—†κ±°λ‚˜ μ—¬λŸ¬κ°œμΌ 땐 μ†Œκ΄„ν˜Έ μƒλž΅ λΆˆκ°€λŠ₯.
// λ§€κ°œλ³€μˆ˜κ°€ 없을 경우
() => {...}

// λ§€κ°œλ³€μˆ˜κ°€ ν•œ 개 μΌλ•Œ, μ†Œκ΄„ν˜Έ μƒλž΅ κ°€λŠ₯
x => {...}

// λ§€κ°œλ³€μˆ˜κ°€ μ—¬λŸ¬ 개 μΌλ•Œ, μ†Œκ΄„ν˜Έ μƒλž΅ λΆˆκ°€λŠ₯
(x,y) => {...}​

 

μ½”λ“œ 길이와 Return

  • μž‘μ„±λœ μ½”λ“œκ°€ ν•œμ€„μ΄λ©΄μ„œ returnλ¬Έ 밖에 없을 λ•Œ, μ€‘κ΄„ν˜Έμ™€ return ν‚€μ›Œλ“œ μƒλž΅ κ°€λŠ₯
// μ½”λ“œκΈΈμ΄ ν•œμ€„
x => { return x * x }  // x*x 

x => x * x // x*x
  • μž‘μ„±λœ μ½”λ“œκ°€ ν•œμ€„μ΄λ‚˜, return이 없을 λ•Œ. μ€‘κ΄„ν˜Έ μƒλž΅ λΆˆκ°€λŠ₯
(x,y) => { x + y } ; // undefined
  • μž‘μ„±λœ μ½”λ“œκ°€ μ—¬λŸ¬μ€„ 일 λ•Œ, μ€‘κ΄„ν˜Έ μƒλž΅ λΆˆκ°€λŠ₯
(x,y) => {
   let a = x+y;
   let b = x*y;
    
   return a+b;
}

 

객체 λ°˜ν™˜

  • 객체λ₯Ό λ°˜ν™˜ν•˜λ €λ©΄ μ†Œκ΄„ν˜Έλ‘œ 감싸야 함.
(x,y,z) => ( { a: x, b: y, c: z } );  // { a: x, b: y, c: z }

 

 

μ°Έκ³  https://inpa.tistory.com/entry/JS-%F0%9F%93%9A-%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%ED%99%94%EC%82%B4%ED%91%9C-%ED%95%A8%EC%88%98-%EC%A0%95%EB%A6%AC