์ฒซ ๋ฒ์งธ ์ฝ๋React 18import React from 'react';import ReactDOM from 'react-dom/client';const root = ReactDOM.createRoot(document.getElementById('root'));root.render(์๋
๋ฆฌ์กํธ !); React 18 ์ด์: React 18์์๋ ์๋ก์ด Root API์ธ ReactDOM.createRoot๋ฅผ ์ฌ์ฉํฉ๋๋ค.Concurrent Mode ์ง์: ์ด ์๋ก์ด API๋ React์ Concurrent Mode์ ๋ ๋์ ์ฑ๋ฅ ์ต์ ํ๋ฅผ ์ง์ํฉ๋๋ค.์ฌ์ฉ๋ฒcreateRoot๋ฅผ ์ฌ์ฉํ์ฌ root๋ฅผ ์์ฑํฉ๋๋ค.์์ฑ๋ root์์ render ๋ฉ์๋๋ฅผ ํธ์ถํฉ๋๋ค. ๋ ๋ฒ์งธ ์ฝ๋React 17import Reac..
๐ then()์์ ๋น๋๊ธฐ ์์
์ด ์๋ฃ๋๋ฉด ๋ฑ๋ก๋ ์ฝ๋ฐฑ์ ์คํํด์ค๋ค.then()์ Promise๋ฅผ ๋ฆฌํดํ๋ค1. fetch ํจ์๊ฐ url๋ก request๋ฅผ ๋ณด๋ด๋ฉด Promise Pending ์ํ๋ฅผ ๋ฆฌํด.2. Promise๊ฐ Fulfilled ์ํ๊ฐ ๋๋ฉด Promise์ ๊ฒฐ๊ณผ๊ฐ์ ์ฝ๋ฐฑ์ ์ฒซ๋ฒ์งธ ํ๋ผ๋ฏธํฐ๋ก ์ ๋ฌํ๋ค.3. ๋ง์ฝ, ์ฝ๋ฐฑ์ด Promise๋ฅผ ๋ฆฌํดํ๋ฉด then ๋ฉ์๋๊ฐ ๋ฆฌํดํ Promise๋ ๋์ผํ ์ํ์ ๊ฒฐ๊ณผ ๊ฐ์ ๊ฐ๊ฒ ๋๋ค.4. ์ฝ๋ฐฑ์ด Promise๊ฐ ์๋ ํ๋ฒํ ๊ฐ์ ๋ฆฌํดํ๋ฉด, then ๋ฉ์๋๊ฐ ๋ฆฌํดํ Promise๋ FulFilled ์ํ๊ฐ ๋๊ณ ๋ฆฌํด๊ฐ์ ๊ฒฐ๊ณผ๊ฐ์ผ๋ก ๊ฐ๊ฒ๋๋ค. then() ๋ฉ์๋์ ํ๋ฆํ ์ค๋ก ์ ๋ฆฌPromise๊ฐ Fulfilled ์ํ๊ฐ ๋๋ฉด(๋น๋๊ธฐ ์์
์ด ๋๋๋ฉด) ๋ค์ ์..
์ฝ๋ฐฑ(Callback)์ด๋?์ด๋ค ํจ์์ ์๊ท๋จผํธ๋ก ์ ๋ฌ๋๋ ํจ์๋ฅผ ์ฝ๋ฐฑ ๋๋ ์ฝ๋ฐฑ ํจ์๋ผ๊ณ ๋ถ๋ฆ
๋๋ค.์๋ฐ์คํฌ๋ฆฝํธ๋ ์๋ฐ์คํฌ๋ฆฝํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋ค์ํ ๋น๋๊ธฐ ํจ์๋ฅผ ์ ๊ณตํด ์ค๋ค.์ ๊ณต๋๋ ๋น๋๊ธฐ ํจ์์ ์ฝ๋ฐฑ์ ๋๊ฒจ์ฃผ๊ธฐ๋ง ํ๋ฉด ๋น๋๊ธฐ ํ๋ก๊ทธ๋จ์ ๊ตฌํํ ์ ์๋ค.
๐ฉ๐ป๐ป await ํจ์Promise์ ์ฑ๊ณต ๊ฒฐ๊ณผ ๊ฐ์ ๋ฐ์์ค๋ ค๋ฉด ํจ์ ์์ await์ ์ฌ์ฉํ๋คasync์ ํจ์๋, ํ์ผ module์ ์ต์์ ๋ ๋ฒจ์์๋ง ์ฌ์ฉํ ์ ์๋ค. ์ฌ๊ธฐ์ module์ ES6 ๋ชจ๋์ ์๋ฏธ๐ฉ๐ป๐ป await์ ์ญํ fetchํจ์๋ Promise ๊ฐ์ฒด๋ฅผ ๋ฆฌํดํ๋ค.fetch ์์ await๋ฌธ์ด ์์ผ๋ฉด Promise๊ฐ Fulfilled ์ํ๊ฐ ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฐ๋ค.Promise๋ ์ธ ๊ฐ์ง ์ํ๋ฅผ ๊ฐ๋๋ค. Pending (๋ฏธ๊ฒฐ์ ) : ๋น๋๊ธฐ ์์
์ ๊ธฐ๋ค๋ฆฌ๊ณ ์์ ๋ Fulfilled (์ฑ๊ณต) : ๋น๋๊ธฐ ์์
์ ์ฑ๊ณต์ ์ผ๋ก ๋๋ฌ์ ๋ Rejected (์คํจ) : ๋น๋๊ธฐ ์์
์ด ์คํจํ์ ๋๋น๋๊ธฐ ์์
์ด ์๋ฃ๋๋ฉด Promise๊ฐ ์์
๊ฒฐ๊ณผ๋ฅผ ์๋ ค์ค๋ค. ์ด๋, await๋ก ํ์ฉํ๋ค.๐ ..
๐ก fetch๋ ?Promise ๊ฐ์ฒด๋ฅผ ๋ฆฌํดํ๋คfetch()๋ console.log()๋ณด๋ค ํจ์ฌ ์ค๋ ๊ฑธ๋ฆฌ๊ธฐ ๋๋ฌธ์ printEmployees() ํธ์ถ ์๋ ๋ ๋ง์ console.log()๋ฌธ์ด ์์์ด๋ ๊ทธ ์ถ๋ ฅ๋ฌธ๋ค์ด ๋ชจ๋ ์คํ๋๊ณ ๋์ function() ์์ผ๋ก ๋์๊ฐ๋๋ค.๐ก Promise ๋ ?๋น๋๊ธฐ ์์
์ด ์๋ฃ๋๋ฉด ๊ฐ์ ์๋ ค์ฃผ๋ ๊ฐ์ฒด์์
์ด ์๋ฃ๋๋ฉด ๊ฐ์ ์๋ ค์ค ๊ฒ์ '์ฝ์'ํจfetch๋ ์ค๋ ๊ฑธ๋ฆฌ๋ ์์
์ด๊ธฐ ๋๋ฌธ์ ๊ฒฐ๊ณผ๊ฐ์ ๋ฐ๋ก ๋๋ ค์ค ์๋ ์์ผ๋๊น, ์ผ๋จ Promise๋ฅผ ๋๋ ค์ฃผ๊ณ ๋์ค์ ์์
์ด ์๋ฃ๋๋ฉด ๊ฒฐ๊ณผ๊ฐ์ Promise์ ์ฑ์ ๋ฃ์ด์ค Promise๊ฐ ๋์ค๊ธฐ ์ ์ฝ๋ฐฑ ๊ธฐ๋ฐgetEmployees((response) => { json((response, (data)) => { cons..
โ
|| ์ฐ์ฐ์|| ์ฐ์ฐ์๋ ์ข์ธก์ ๊ฐ์ด falsy ๊ฐ(0, "", false, null, undefined, NaN)์ผ ๋ ์ฐ์ธก์ ๊ฐ์ ๋ฐํํฉ๋๋ค. ๋ฐ๋ผ์ user๊ฐ ๋น ๋ฌธ์์ด("")์ด๋ฏ๋ก currentUser1์ "Anonymous"๊ฐ ๋ฉ๋๋ค. โ
?? ์ฐ์ฐ์?? ์ฐ์ฐ์๋ ์ข์ธก์ ๊ฐ์ด null ๋๋ undefined์ผ ๋๋ง ์ฐ์ธก์ ๊ฐ์ ๋ฐํํฉ๋๋ค.