πŸ‘©πŸ»β€πŸ’» ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄/JavaScript

[Javascript] - μ¦‰μ‹œ μ‹€ν–‰ ν•¨μˆ˜λž€ ?

yyezzzy 2024. 7. 19. 12:34

μ¦‰μ‹œ μ‹€ν–‰ ν•¨μˆ˜

ν•¨μˆ˜μ„ μ–Έ 뢀뢄을 μ†Œκ΄„ν˜Έλ‘œ 감싼 λ‹€μŒμ— λ°”λ‘œ 뒀에 ν•¨μˆ˜λ₯Ό μ‹€ν–‰ν•˜λŠ” μ†Œκ΄„ν˜Έλ₯Ό ν•œ 번 더 λΆ™μ—¬μ£ΌλŠ” 방식
// ν•¨μˆ˜κ°€ μ„ μ–Έλœ μˆœκ°„ λ°”λ‘œ μ‹€ν–‰
(function () {
  console.log('Hi!');
})();
  • 일반 ν•¨μˆ˜μ²˜λŸΌ νŒŒλΌλ―Έν„°λ₯Ό μž‘μ„±ν•˜κ³ , ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•  λ•Œ μ•„κ·œλ¨ΌνŠΈλ₯Ό 전달할 μˆ˜λ„ μžˆλ‹€.
(function (x, y) {
  console.log(x + y);
})(3, 5);

μ£Όμ˜μ‚¬ν•­

πŸ’‘μ¦‰μ‹œ μ‹€ν–‰ ν•¨μˆ˜λŠ” ν•¨μˆ˜μ— 이름을 지어주더라도 μ™ΈλΆ€μ—μ„œ μž¬μ‚¬μš©ν•  수 μ—†λ‹€
(function sayHi() {
  console.log('Hi!');
})();

sayHi(); // ReferenceError

μ¦‰μ‹œ μ‹€ν–‰ ν•¨μˆ˜μ˜ ν™œμš©

μ¦‰μ‹œ μ‹€ν–‰ ν•¨μˆ˜λŠ” 말 κ·ΈλŒ€λ‘œ μ„ μ–Έκ³Ό λ™μ‹œμ— 싀행이 이뀄지기 λ•Œλ¬Έμ— 일반적으둜 ν”„λ‘œκ·Έλž¨ μ΄ˆκΈ°ν™” κΈ°λŠ₯에 많이 ν™œμš©λœλ‹€.
(function init() {
  // ν”„λ‘œκ·Έλž¨μ΄ μ‹€ν–‰ 될 λ•Œ 기본적으둜 λ™μž‘ν•  μ½”λ“œλ“€..
})();
  • μž¬μ‚¬μš©μ΄ ν•„μš” μ—†λŠ” μΌνšŒμ„± λ™μž‘ κ΅¬μ„±μ‹œ ν™œμš©
const firstName = 'Young';
const lastName = 'Kang';

const greetingMessage = (function () {
  const fullName = `${firstName} ${lastName} `;

  return `Hi! My name is ${fullName}`;
})();