[๐ŸŒณjavascript] ์ฝœ๋ฐฑํ•จ์ˆ˜

h-a-n-aยท2023๋…„ 3์›” 15์ผ
1

๐ŸŒณjavascript

๋ชฉ๋ก ๋ณด๊ธฐ
14/17

์ฝœ๋ฐฑํ•จ์ˆ˜ ์‹คํ–‰ํ•˜๋Š” ๋ฒ•.
ํŒŒ๋ผ๋ฏธํ„ฐ์•ˆ์— ํ•จ์ˆ˜๋ช…/ํ•จ์ˆ˜์„ ์–ธ ๋„ฃ์–ด์ฃผ๊ณ  1๋ฒˆ์œผ๋กœ ์‹คํ–‰ํ•  ํ•จ์ˆ˜ {}์•ˆ์— 2๋ฒˆ์œผ๋กœ ์‹คํ–‰ํ•  ํ•จ์ˆ˜() ๋„ฃ์–ด์คŒ.
๊ทธ๋ฆฌ๊ณ  1๋ฒˆ ํ•จ์ˆ˜ ํ˜ธ์ถœํ•˜์…ˆ. ์ด๊ฑด ์ดํ•ด๊ณ  ์ž์‹œ๊ณ  ๊ทธ๋ƒฅ ์™ธ์šฐ๋ฉด ๋จ.

function ์ฒซ์งธํ•จ์ˆ˜(์–ด์ฉŒ๊ตฌํ•จ์ˆ˜){
  console.log(1)
  ์–ด์ฉŒ๊ตฌํ•จ์ˆ˜()}

function ๋‘˜์งธํ•จ์ˆ˜(){
  console.log(2)}

์ฒซ์งธํ•จ์ˆ˜(๋‘˜์งธํ•จ์ˆ˜)// 1
             // 2

์ฒซ์งธํ•จ์ˆ˜(๋‘˜์งธํ•จ์ˆ˜)์ฒ˜๋Ÿผ ํ•จ์ˆ˜๋ช…์„ ๋„ฃ์–ด์ค˜๋„ ๋˜๊ณ  ์•„๋‹ˆ๋ฉด

์ฒซ์งธํ•จ์ˆ˜(function(){
	๋‘˜์งธํ•จ์ˆ˜()})

์ด๋ ‡๊ฒŒ ํŒŒ๋ผ๋ฏธํ„ฐ ์•ˆ์—์„œ ์•„์˜ˆ ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด ๋„ฃ์–ด์ค˜๋„ ๋œ๋‹ค.
๊ทผ๋ฐ ์ด๋ ‡๊ฒŒ ์–Œ์ „ํ•˜๊ฒŒ ๋‘˜์งธํ•จ์ˆ˜๋งŒ ๋„ฃ์œผ๋ฉด ๋ฌธ์ œ๊ฐ€ ์—†๋Š”๋ฐ,
์ธ๊ฐ„์˜ ์š•์‹ฌ์€ ๋์ด ์—†๋Š”์ง€๋ผ 1๋ฒˆ ํ•จ์ˆ˜->2๋ฒˆ ํ•จ์ˆ˜->3๋ฒˆ ํ•จ์ˆ˜->4๋ฒˆ ํ•จ์ˆ˜->..์ด๋ ‡๊ฒŒ ๋„ฃ์–ด์„œ
์ˆœ์ฐจ๋Œ€๋กœ ์‹ค์‹œํ•˜๊ณ  ์‹ถ์€ ๋งˆ์Œ์ด ๋“œ๋Š” ๊ฒƒ์ด๋‹ค.

function ์ฒซ์งธํ•จ์ˆ˜(๊ตฌ๋ฉ) {
  console.log(1);
  ๊ตฌ๋ฉ();
}
function ๋‘˜์งธํ•จ์ˆ˜(๊ตฌ๋ฉ1) {
  console.log(2);
  ๊ตฌ๋ฉ1();
}

function ์…‹์งธํ•จ์ˆ˜(๊ตฌ๋ฉ2) {
  console.log(3);
  ๊ตฌ๋ฉ2();
}
function ๋„ท์งธํ•จ์ˆ˜() {
  console.log(4);
}

์ฒซ์งธํ•จ์ˆ˜(function () {
  ๋‘˜์งธํ•จ์ˆ˜(function () {
    ์…‹์งธํ•จ์ˆ˜(function () {
      ๋„ท์งธํ•จ์ˆ˜();
    });
  });
});

์ด๋ ‡๊ฒŒ ์ฝœ๋ฐฑ์ง€์˜ฅ์ด ํƒ„์ƒํ•˜์˜€๋‹ค.
์ด๋ ‡๊ฒŒ ๋˜๋ฉด ์ฝ˜์†”์— 1 2 3 4 ๊ฐ€ ์ฐจ๋ก€๋Œ€๋กœ ์ถœ๋ ฅ์€ ๋˜์ง€๋งŒ ๊ฐ€๋…์„ฑ์ด ๋งค์šฐ๋งค์šฐ ํ˜„์ €ํžˆ ๋–จ์–ด์ง„๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค.
๊ทธ๋ž˜์„œ ์ด ๋‚œ๊ด€์„ ํ—ค์ณ๋‚˜๊ฐ€๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ๋‘ ๊ฐ€์ง€๋ฅผ ์†Œ๊ฐœํ•˜๋ ค ํ•œ๋‹ค.
(1) Promise
(2) async/ await

๊ธ€์ด ๊ธธ์–ด์งˆ ๊ฒƒ ๊ฐ™์œผ๋‹ˆ ๋‹ค์Œ์žฅ์œผ๋กœ ๊ณ ๊ณ ~!

profile
ํ•˜๋ฃจํ•˜๋ฃจ๊ฐ€ ์—ฐ์Šต์ด๋‹ˆ ๋‚ด์ผ์€ ๋” ๊ฐ•ํ•ด์งˆ ๊ฒ๋‹ˆ๋‹ค

0๊ฐœ์˜ ๋Œ“๊ธ€