πŸŽ„ μ„±μž₯일지 3.1

μ±… ν–‰λ³΅ν•œ 이기주의자(웨인 닀이어)의 λ‚΄μš©μ— μžκ·Ήλ°›μ•„ μ‹œμž‘ν•˜λŠ” μ†Œλ°•ν•œ μ„±μž₯기둝

μ‚΄μ•„μžˆλŠ” 꽃과 죽은 꽃은 μ–΄λ–»κ²Œ κ΅¬λ³„ν•˜λŠ”κ°€?
μ„±μž₯ν•˜κ³  μžˆλŠ” 것이 μ‚΄μ•„ μžˆλŠ” 것이닀.
생λͺ…μ˜ μœ μΌν•œ μ¦κ±°λŠ” μ„±μž₯이닀!

🌳 ν‚€μ›Œλ“œ (1.0)
μ΅œλŒ€ν•œ κ°„λ‹¨ν•˜κ²Œ 정리, 좔후에 λ³΄λ©΄μ„œ 슀슀둜 μ„€λͺ…
πŸ‰ κ²½ν—˜ μœ„μ£Όλ‘œ (2.0)
λ‹¨μˆœ 정보λ₯Ό μ „λ‹¬ν•˜κΈ°λ³΄λ‹€ 무엇을 λ°°μ› κ³  μ–΄λ–»κ²Œ ν•΄κ²°ν–ˆλŠ”μ§€ 짧고 κ°„λ‹¨ν•˜κ²Œ μž‘μ„±
❄️ 정해진 ν…œν”Œλ¦Ώμ— λ§žμΆ°μ„œ (3.0)
ν‚€μ›Œλ“œ, κ²½ν—˜ λͺ¨λ‘ μ’‹λ‹€. λ‹€λ§Œ 맀일 μž‘μ„±ν•˜κΈ°λ‘œ 마음 λ¨Ήμ€λ§ŒνΌ ν•΅μ‹¬λ§Œ κ°„κ²°ν•˜κ²Œ 정리할 수 있게 ν…œν”Œλ¦Ώμ„ μž‘μ„± (3.1) 230102λΆ€ν„° μ‹œμž‘λ˜λŠ” ν•™μŠ΅μ— κ΄€ν•œ λ‚΄μš© μΆ”κ°€

πŸ”‘ 였늘의 ν‚€μ›Œλ“œ

ch4. 콜백 ν•¨μˆ˜

Quiz1)p101. 예제 4-5. / μ°Έκ³ ν•˜μ—¬ filter λ©”μ„œλ“œ κ΅¬ν˜„ν•΄λ³΄κΈ°

// 예제 4-5
Array.prototype.map2 = function(callback, thisArg) {
  var mappedArr = [];
  for (var i = 0; i < this.length; i++) {
    var mappedValue = callback.call(thisArg || window, this[i], i, this);
    mappedArr[i] = mapppedValue;
  }
  return mappedArr;
}

μ˜ˆμƒ λ‹΅μ•ˆ

Array.prototype.filter2 = function(callback, thisArg) {
  var filteredArr = [];
  for (var i = 0; i < this.length; i++) {
    var isTrue = callback.call(thisArg || window, this[i], i, this);
    if (isTrue) {
      filteredArr.push(this[i]);
    }
  }
  return filteredArr;
}

Quiz2)p111. 예제4-15. / 12~15번째 쀄 콜백 ν•¨μˆ˜ ν‘œν˜„ λ°”κΎΈκΈ°

var addCoffee = function(name) {
  return function(prevName) {
    return new Promise(function(resolve) {
      setTimeout(function() {
        var newName = prevName ? (prevName + ', ' + name) : name;
        console.log(newName);
        resolve(newName);
      }, 500);
    });
  };
};
// 이 μ•„λž˜ μ½”λ“œλ“€
addCoffee('μ—μŠ€ν”„λ ˆμ†Œ')()
.then(addCoffee('아메리카노'))
.then(addCoffee('카페λͺ¨μΉ΄'))
.then(addCoffee('μΉ΄νŽ˜λΌλ–Ό'))

μ˜ˆμƒ λ‹΅μ•ˆ

addCoffee('μ—μŠ€ν”„λ ˆμ†Œ')()
.then(prevName => addCoffee('아메리카노')(prevName))
.then(prevName => addCoffee('카페λͺ¨μΉ΄')(prevName))
.then(prevName => addCoffee('μΉ΄νŽ˜λΌλ–Ό')(prevName))

// λΉ„μŠ·ν•œ μ˜ˆμ‹œ
[1, 2, 3, 4, 5].forEach(console.log) 

p113. async/await μ‰¬μš΄ 예제

async function getDelay(target, second) {
	return new Promise((resolve, reject) => {
		setTimeout(() => resolve(target), second * 1000);
    })
	}

console.log(await getDelay('비동기', 5)); // 5초 뒀에 '비동기' 좜λ ₯

μ°Έκ³ 

  • μ½”μ–΄ μžλ°”μŠ€ν¬λ¦½νŠΈ - 4.μ½œλ°±ν•¨μˆ˜

πŸ“ μš”μ•½ 및 ν•˜λ£¨ 간단 회고

μ œμ£Όλ„ μ—¬ν–‰ μ™€μ„œ μ§„ν–‰ν•œ μŠ€ν„°λ””! μ˜€λŠ˜μ€ μ½œλ°±ν•¨μˆ˜μ™€ 비동기 파트λ₯Ό κ°„λ‹¨ν•˜κ²Œ λ‹€λ€„λ³΄μ•˜λ‹€.
μŠ€ν„°λ””λ₯Ό μ§„ν–‰ν•˜λ©΄μ„œ λŠλΌλŠ”κ±°μ§€λ§Œ, μ‚¬λžŒλ“€μ—κ²Œ 지식을 κ³΅μœ ν•˜κ³  κ·Έ 과정을 μ€€λΉ„ν•˜λŠ” 게 λ„ˆλ¬΄ μž¬λ―Έμžˆλ‹€. μΆ”ν›„ ꡐ윑과 κ΄€λ ¨ν•œ 도메인도 μ—΄μ •μ μœΌλ‘œ μž„ν•  수 μžˆμ„ 것 κ°™λ‹€. :)

였늘의 μž˜ν•œ 점

  • μ—¬ν–‰μ™€μ„œλ„ μŠ€ν„°λ”” μ§„ν–‰ν•œ 점

였늘의 μ•„μ‰¬μš΄ 점

  • μ—†λ‹€! 단, ν•˜λ‚˜λ„!