์์ ์ฐ๋ ๊ธฐ๋ฅผ ๋ง๋ค์ด ๋ฒ๋ ธ์ต๋๋ค. ๐
...
ToDoAddRow ์ทจ์
- ToDoAddRow ์ญ์
## ToDo
์ ๋ชฉ, ๋ด์ฉ, author by web
ToDo X hover
- toDo ๋ฐฐ๊ฒฝ์, ํ
๋๋ฆฌ์ ๋ณ๊ฒฝ
- X ๋ฒํผ ์ ๋ณ๊ฒฝ
ToDo ์ญ์ alert
- ์ญ์ ๋ฒํผ ํด๋ฆญ ์ toDo ์ ๊ฑฐ
ToDo ํด๋ฆญ
- ํด๋น toDo ๊ฐ์ฒด ํ์ธ
ToDo ๋๋๊ทธ
- ํ์ฌ target todo ๋ณต์ฌ
- ์๋ณธ target ์ ๋ นํ
- Target toDo ๋ง์ฐ์ค ๋ถ์ฐฉ(๋ฐ๋ผ๋ค๋)
ToDO ๋๋
- ๋๋ ์์น์ column ํ์
- Column ๋น์๋?
ToDo ๋๋ธํด๋ฆญ
- ToDoAddRow ํํ๋ก ๋ณํ
- ๋ฑ๋ก ํ
์คํธ => ์์
- ์ ๋ชฉ, ๋ด์ฉ ํ๋๋ผ๋ ๋น์์ ๋ ์์ ๋นํ์ฑํ
๊ธฐ๋ณธ์ ์ธ ์ค๊ณ๋ 1์ฃผ์ฐจ์ ๋น์ทํ๊ฒ ์งํ๋์์ต๋๋ค. ์๊ตฌ์ฌํญ์์ ๊ธฐ๋ฅ๋ค์ ๋ชจ๋ ๋ฝ์๋ด๊ณ ๊ทธ๊ฒ์ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ๋ฐ์ ์งํํฉ๋๋ค.
์ด๋ฒ ๋ฏธ์ ์ ๊ฐ์ธ์ด ์๋ ํ์ผ๋ก ์งํํ๋๋ฐ, ํ ํ๋ ์ด ๊ฒฝํ์ด ๋ง์ด ๋ถ์กฑํด ํน์ ๊ฐ์ด ํ์๋ ๋ถ์๊ฒ ํ๊ฐ ๋ ๊น ์ต๋ํ ์ ์คํ๊ฒ ์งํํ ๊ฒ ๊ฐ์ต๋๋ค.
๋ฐฑ์๋ ์ค๊ณ๋ ์ฐ์ ์์๋ฅผ ๋ค๋ก ๋ฏธ๋ค๋๊ณ , ์ต๋ํ ํ๋ก ํธ์๋ ๋ถ๋ถ์ ๊ตฌํ์ ์ง์คํ์ต๋๋ค. ํ๋ก ํธ์๋๋ core Component ํด๋์ค๋ฅผ ๋ง๋ค๊ณ , ๊ทธ๊ฒ์ ์์๋ฐ์ ๋ค๋ฅธ ์ปดํฌ๋ํธ๋ค์ด ์ฌ์ฉํ๋ ํํ๋ก ๊ณํํ์ต๋๋ค.
๊ฐ์ธ์ ์ผ๋ก ์์ฌ์์ด ๋ง์ด ๋จ์๋ ๋ฏธ์ ์ด์์ต๋๋ค. ์ด๋ฐ์ ํ์ ๋ถ๊ณผ ํจ๊ป ์ค๊ณ๋ฅผ ์งํํ๊ณ ํ์ด ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์์ ํตํด ๊ตฌํ์ ์์ํ ๊ฑด ์ ๋ง ์ข์์ง๋ง, ํ๋ฐ๋ถ์๋ ๋จ์ ๊ธฐ๋ฅ์ ๊ตฌํ์๋ง ๊ธ๊ธํด ๋ง๊ตฌ์ก์ด๋ก ๊ตฌํ์ ์งํํ์ต๋๋ค.
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ธ์ง ํ๋ฐ๋ถ์ ๋ค์ด์์๋ ์ฝ๋๋ฅผ ์์๋ณผ ์ ์์ ์ ๋๋ก ์ด์ง๋ฝ๊ฒ ์์ฑํ ๊ฒฝํฅ์ด ์์ต๋๋ค.
์ด๋ฒ ๋ฏธ์ ์์๋ HTML์ ์ ์ ์ผ๋ก ๋งํฌ์ ํ๋ ๋ฐฉ์์ด ์๋ ์ฝ์ด ์ปดํฌ๋ํธ ํด๋์ค๋ฅผ ์์ฑํด ์์๋ฐ์ ํ์ ์ปดํฌ๋ํธ๋ค์ด ๋ ๋๋ง๋๋ ๋ฐฉ์์ ํํ์ต๋๋ค.
import Header from './components/Header';
import TodoContainer from './components/TodoContainer/TodoContainer';
import TodoLogContainer from './components/TodoLog/TodoLogContainer';
class App {
constructor($target) {
this.$target = $target;
this.$todoLogContainer = null;
this.setup();
}
setup() {
new Header('header', this.$target, {
class: ['header', 'hi'],
onClick: () => {
this.$todoLogContainer.$target.classList.add('visible');
},
});
new TodoContainer('div', this.$target, {
class: ['todo-container'],
});
this.$todoLogContainer = new TodoLogContainer('aside', this.$target, {
class: ['todo-log-container'],
});
}
}
export default App;
๊ธฐ๋ณธ์ ์ผ๋ก app div๋ฐ์ค๊ฐ ์๊ณ ๊ทธ ์์ ๊ฐ๊ฐ์ ์ปดํฌ๋ํธ๋ค์ด ์ฑ์ฐ๋ ํ์์ ๋๋ค. ํ์ฌ๋ app์ ํค๋์ todo container ๊ทธ๋ฆฌ๊ณ log container๊ฐ ์์ต๋๋ค.
ํด๋ฆญ์ด๋ ๋๋๊ทธ ๋ฑ์ ๊ฐ๊ฐ์ html ์์์ ์ด๋ฒคํธ๋ฅผ ๋ฃ์ ์๋ ์์ง๋ง, ๊ทธ๊ฒ์ ๋๋ฌด ๋นํจ์จ์ ์ด๋ผ๊ณ ํ๋จํ๊ณ ์์ ์ปดํฌ๋ํธ์์ ๋ค์ํ ์ด๋ฒคํธ๋ค์ ์์ํ๋๋ก ํ์ต๋๋ค.
์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋ฉด ๊ทธ๊ฒ์ด ๋ฐ์ํ ํ๊ฒ ๋ฑ์ ํ์ธํด ํ์ํ ์ด๋ฒคํธ๋ฅผ ์คํ์ํต๋๋ค. ์กฐ๊ฑด ๋ถ๊ธฐ๊ฐ ๋ง์ด ๋ฐ์ํ์ง๋ง ๋ชจ๋ ์์์ eventListener๋ฅผ ๋ฑ๋กํ๋ ๊ฒ๋ณด๋ค๋ ์ข๋ค๊ณ ํ๋จํ์ต๋๋ค.
์ด๋ฒ ๋ฏธ์ ์ state๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ปดํฌ๋ํธ๋ค์ด ๋ ๋๋ง๋ฉ๋๋ค. ์ด ๋ง์ ์ปดํฌ๋ํธ ๊ฐ์ ๋ฐ์ดํฐ ๊ตํ์ด ๋ฐ์ํ ๊ฒฝ์ฐ, ํด๋น ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ชจ ์ปดํฌ๋ํธ ๋๋ store์์ ๊ด๋ฆฌํ๊ณ ๊ทธ๊ฒ์ ๊ฐ๊ฐ์ ์์ ์ปดํฌ๋ํธ์๊ฒ ๋ฐ์์์ผ์ค์ผ ํ๋ค๋ ๋ป์ ๋๋ค.
๋ถ๋ชจ ์ปดํฌ๋ํธ์์ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ ๊ฒฐ๊ณผ ๋ค์๊ณผ ๊ฐ์ ์ผ์ด ๋ฒ์ด์ก์ต๋๋ค.
todoCard๋ค์ ๊ด๋ฆฌํ๋ todoContainer๊ฐ ๋ฌด๋ ค 300์ค์ ์ฐจ์งํ๊ฒ ๋ฉ๋๋ค. TodoContainer๊ฐ TodoCard๋ค์ด ํ์ํ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๊ณ , ๊ทธ๊ฒ์ ์ถ๊ฐ, ์์ , ์ญ์ , ์ด๋ํ๋ ๊ฒ๋ค์ ๋ชจ๋ ์ปจํธ๋กคํด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
ํ์ํ ๋ก์ง๋ค์ ๋ชจ๋ TodoContainer ํด๋์ค๊ฐ ๊ฐ์ง๊ณ ์์ด์ผ ํ๊ธฐ ๋๋ฌธ์ ์ง๊ธ์ฒ๋ผ ๋ฌด๊ฑฐ์ด ์ปดํฌ๋ํธ๊ฐ ํ์ํ์ต๋๋ค.
์ง๊ธ ๋ฆฌํฉํ ๋ง์ ์๊ฐํ๋ค๋ฉด DOM ์กฐ์ ๋ฉ์๋๋ค์ ๋ฐ๋ก utils์ฒ๋ผ ๊ด๋ฆฌํ๊ณ , ๊ทธ๊ฒ์ ๋ํ ์ถ์ํ๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ผ๋ก๋ ์ฝ๋์ ์์ ์ถฉ๋ถํ ์ค์ผ ์ ์์ ๊ฒ ๊ฐ์ต๋๋ค.
๋๋๊ทธ ์ค ๋๋, ์ถ๊ฐ, ์ญ์ ๋ฑ์ ๊ณตํต๋๋ DOM ์ ๊ทผ์ด ๋ง๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ด๋ฒ ๋ฏธ์ ์์๋ ๋ฐฑ์๋ ๊ตฌ์กฐ ์ค๊ณ๋ง ํ์ ๋ถ๊ณผ ํจ๊ปํ๊ณ ์๊ฐ์ด ์ด๋ฐํด ๋จ์ ํ๋ก ํธ์๋ ๋ถ๋ถ์ ์ ๊ฐ ๊ตฌํํ๊ณ ๋ฐฑ์๋ api ๋ฑ์ ํ์ ๋ถ๊ป์ ์งํํ์ต๋๋ค.
๊ตฌ์กฐ ์์ผ๋ก ๊ณ ๋ คํ๋ ์ ์ ๋ค์๊ณผ ๊ฐ์ด api์ ๋ผ์ฐํฐ์ ์ปจํธ๋กค๋ฌ๋ค์ ๋ถ๋ฆฌํ๋ค๋ ์ ์ ๋๋ค.
๋ํ ๋คํธ์ํฌ ์์ฒญ์ ๋ํด์๋ ๊ณ ๋ คํ ์ ์ด ์์ต๋๋ค. todoCard๋ฅผ api ํธ์ถ์ ํตํด ์กฐ์ ํ ๊ฒฝ์ฐ ๊ทธ์ ํด๋นํ๋ log๋ฅผ ์์ฑํด์ผํฉ๋๋ค.
์ด๋ ํ๋ก ํธ์๋์์ log ์ถ๊ฐ ์์ฒญ๊ณผ, todoCard์ api ์์ฒญ์ ๊ฐ๊ฐ ์์ฒญํ๋ ๊ฒ ์๋ todoCard์ ๋ํ ์์ฒญ๋ง ํ๊ณ log๋ ๋ฐฑ์๋์์ ์๋์ ์ผ๋ก ์ถ๊ฐํด์ฃผ๋๋ก ์ค๊ณํ์ต๋๋ค.
node js์ ๋ฏธ๋ค์จ์ด ํจํด์ ์ด์ฉํ๋ฉด ์ด ๋ถ๋ถ์ ์ฐ์ํ๊ฒ ์ฒ๋ฆฌํ ์ ์๋๋ฐ, todoCard ์์ฒญ์ ๋ํ ์ฒ๋ฆฌ๋ฅผ ํ๊ธฐ ์ logMiddleware๋ฅผ ๊ฑฐ์ณ log ๋ฐ์ดํฐ๋ฅผ ๋ฏธ๋ฆฌ ์์ฑํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ todoAPI๋ก ํด๋น log๋ฅผ ๋ณด๋ด๋ฉด API ์ฒ๋ฆฌ๊ฐ ์ฑ๊ณตํ ์ ์๋์ ์ผ๋ก logData ๋ํ ์ ๋ฐ์ดํธํด์ฃผ๋ ๋ฐฉ์์ผ๋ก ๋คํธ์ํฌ ๋น์ฉ์ ์ค์ผ ์ ์์ต๋๋ค.
๋น๋ก ์๋ฒฝํ๊ฒ ๊ตฌํํ์ง๋ ๋ชปํ์ง๋ง ์ถํ ๋ค์ ๋์ ํ ๋ฏธ์ ์์ ์ด๋ฐ ๋ฐฉ์๋ค์ ๊ณ ๋ คํ ๊ฒ ๊ฐ์ต๋๋ค.
function removeElement(DOMElement) {
DOMElement.parentNode.removeChild(DOMElement);
}
function appendElement(DOMElement, parentElement) {
parentElement.appendChild(DOMElement);
}
ํด๋น ๋ฏธ์ ์์๋ ๋ค์๊ณผ ๊ฐ์ ์ฝ๋ ๊ตฌ์กฐ๊ฐ ๋ง์ด ๋์ต๋๋ค. todoCard๋ฅผ add, removeํ๋ ๊ณผ์ ๋ฑ์์ ๋ค์๊ณผ ๊ฐ์ ํํ๋ก ๋ง์ด ์ด๋ฃจ์ด์ง๊ธฐ ๋๋ฌธ์ ๋๋ค.
ํ์ง๋ง ๋ฏธ์ ์ด ๋๋๊ณ ์ด๋ฐ ์๊ฐ๋ ๋ค์์ต๋๋ค. DOM์ ์ ๊ทผํด์ ํด๋น ์๋ฆฌ๋จผํธ๋ฅผ ์ง์ฐ๊ฑฐ๋ ์์ ํ๋ ๊ฒ๊ณผ ์์ state๋ง ์์ ํ๊ณ ์๋กญ๊ฒ render๋ฅผ ํธ์ถํ๋ ๋ฐฉ์ ์ด๋ค ๊ฒ ๋ ํจ์จ์ ์ธ์ง์ ๊ดํ ๊ฒ์ ๋๋ค.
๋ฐฑ์ง ์ํ์์ ์๋กญ๊ฒ DOM์ ๊ตฌ์ฑํ๋ ์์ ์ ๋น์ฉ์ด ๋ง์ด ๋ค๊ฒ ์ง๋ง, ๊ธฐ์กด์ ์๋ DOM์ ์ ๊ทผ ๋ฉ์๋ ๋ฑ์ ํตํด ์์ ํ๋ ๊ฒ๋ ํฐ ๋น์ฉ์ด๋ผ๋ ์๊ฐ์ด ๋ญ๋๋ค.
์์น์ ์ผ๋ก ์ด๋ค ๊ฒ์ด ๋ ํจ์จ์ ์ธ์ง๋ ํ์คํ์ง ์์ง๋ง, state๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์๋กญ๊ฒ ๋ ๋๋ง์ ์งํํ ๊ฒฝ์ฐ ํ ๊ฐ์ง ํ์คํ ์ฅ์ ์ด ์์ต๋๋ค.
๊ธฐ์กด์ ์ด๊ธฐ ๋ ๋ ํจ์๋ฅผ ํธ์ถํ๋ ๊ฒ์ผ๋ก ๋ชจ๋ ์ ๋ฐ์ดํธ๋ฅผ ์ฒ๋ฆฌํ ์ ์๋ค๋ ์ ์ ๋๋ค. ๊ทธ๋ ๋ค๋ฉด addCard๋ deleteCard ๋ฑ์ ๋ฉ์๋๋ค์ ๊ธธ์ด๋ ์งง์์ง๊ณ , ๋ฐ์ํ ๋ฒ๊ทธ์ ์๋ ๋ง์ด ์ค์ด๋ค ๊ฒ ๊ฐ์ต๋๋ค.
๋ฌผ๋ก ๊ตฌ์ฒด์ ์ผ๋ก ๋ค์ด๊ฐ๋ค๋ฉด querySelector๊ฐ ๋ ๋น ๋ฅด๊ณ ๊ทธ๊ฒ๋ณด๋ค๋ getElementById๊ฐ ๋ ๋น ๋ฅด๊ฒ ์ง๋ง, ์ฑ๋ฅ๋ง์ ๊ณ ๋ คํ๋ค๋ฉด jQuery๋ angular, react ๋ฑ์ ํ๋ ์์ํฌ/๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ ์ด์ ์ฌ์ฉ์ ์์ ํด์ผํ ๊ฒ์ ๋๋ค.
๊ฐ๋ฐ์ ์งํํ๋๋ฐ ์์ด ํธ๋ฆฌํจ๋ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ ์ด์ ์ค ํ๋์ผ ํ ๋ ๋ง์ ๋๋ค.
๋์ค์ ์ด๋ฐ ์๊ฐ๋ค์ ๊ธฐ๋ฐ์ผ๋ก ๋ค์ ๋ง๋ค์ด๋ณด๊ณ ํ๊ธฐ๋ฅผ ์์ฑํด๋ด์ผ๊ฒ ์ต๋๋ค.
์ด๋ฒ์๋ ๋ง์ฐฌ๊ฐ์ง๋ก ํฌ๋กฑ๊ณผ ํธ๋ ์ค์ ํผ๋๋ฐฑ์ ๋ฃ๊ณ ๋ง์ ์๊ฐ์ ํ์ต๋๋ค. ํ์์ ๊ฐ๊ณ ์๋ ์๊ฐ๊ณผ ๊ทธ์ ๋ํ ๋ฐฉํฅ, ๊ทธ๋ฆฌ๊ณ ํน์ ๋๊ตฌ๋ ํจํด์ ๋์ ํ๋ ๊ฒ์ ๋ํด ์ด๋ค ๋ฐฉํฅ์ผ๋ก ์๊ฐ์ด ๋์๊ฐ์ผ ํ๋ ๊ฐ์ ๋ํด์๋ ์๊ฐํด๋ณด๊ฒ ๋์์ต๋๋ค.
๊ฐ๋ฐ์์ ๋ฐฑ์๋๊ฐ ๋จผ์ ๊ฐ๋ฐ๋๊ณ ๊ทธ๊ฒ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ก ํธ์๋๊ฐ ๊ฐ๋ฐ๋๋ ๊ฒ ์ต๊ณ ๊ฒ ์ง๋ง ์ฌ์ค ์์๋ ์์ต๋๋ค. ์ง๊ธ์ฒ๋ผ ๋ํ ํ๋ก์ ํธ๊ฐ ์๋ ๋ฏธ์ ์ด๋ผ๋ฉด ์ ๋ง ํธํ ๋ฐฉ์๋๋ก ๊ฐ๋ฐํด๋ ๊ด์ฐฎ์ต๋๋ค. ํ์ง๋ง ๊ทธ๋งํผ ์ด๊ธฐ ์ค๊ณ๋ ๊ท์น ๋ฑ์ ์ฒ ์ ํ ์ ํด๋๋ ๊ฒ ์ข์ต๋๋ค!
๋ณต์กํ ๋ก์ง์ ๊ฐ๋ฅํ ์จ๊ฒจ์ผํฉ๋๋ค. ๋๋ง ๋ณด๋ ์ฝ๋๋ผ๋ฉด ๊ทธ๋ฅ ๋ง์๋๋ก ์์ฑํด๋ ์๊ด์๊ฒ ์ง๋ง, ๊ฐ๋ฐ์์ ํ์ ์ ํ์์ ์ ๋๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์กฐ๊ฑด๋ฌธ ์์ ์กฐ๊ฑด ๋ฑ์ด ๋ณต์กํด์ง๋ค๋ฉด ์ต๋ํ ์ถ์ํ ๊ณ์ธต์ ์ ๊ณตํ๋ ๊ฒ ์ข์ต๋๋ค.
์ด๋ฒ ๋ฏธ์ ์์๋ classํ ์ปดํฌ๋ํธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ๋ฐ์ ์งํํ์ต๋๋ค. ์ด์ ๋ ๋ฑํ ์์ต๋๋ค. ์ ๋ง ๋ง ๊ทธ๋๋ก ๊ทธ๋ฅ ์ฌ์ฉํ ๊ฒ ๊ฐ์ต๋๋ค. ์ฐํ ์บ 2์ฐจ ๊ณผ์ ์ ์งํ๋ฐฉ์์ ํ ๋๋ก ๋ฏธ์ ์ ์งํํ์ง๋ง ๋จ์ํ ๊ฒฝํ์ ์๊ฑฐํ ํ๋จ์ผ ๋ฟ ํ๋นํ ๋ ผ๋ฆฌ๋ ์์์ต๋๋ค.
๋ฏธ์ ์ ํจ๊ป ์ํํ์ ํ์ ๋ถ๋ ๊ธ์์ผ ๋ง๋ฌด๋ฆฌ ์๊ฐ์ ์ ์ ๊ฐ์ ์๊ฒฌ์ด์์ต๋๋ค. ์๋ก์ ์คํ์ผ์ด ์ ๋ง์์ ์ข์์ง๋ง, ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ด๋ฐ ๋ถ๋ถ์ ์๊ฐํ ๊ธฐํ๊ฐ ์์๋ ๊ฒ ๊ฐ์ต๋๋ค.
๊ธฐํ์ ์๊ตฌ์ฌํญ์ ๋ณด๊ณ , ๊ตณ์ด ํด๋์คํ์ด ํ์ํ์ง, ๋ฐ์ดํฐ๋ฅผ state๋ก ๊ด๋ฆฌํด์ผํ๋ ์ด์ ๊ฐ ์๋์ง ๋ฑ ๋ค์ํ ๋ฐฉ๋ฉด์์ ๊ธฐํ์ ์ ๊ทผํด์ผ๊ฒ ๋ค๋ ์๊ฐ์ ํ์ต๋๋ค.
๊ฐ์ ์ ์ธ ์ ๋ฌด๊ฐ ์๋ ๊ต์ก์ฉ ๋ฏธ์ ์ธ ๋งํผ ๋ค์ํ ์ ๊ทผ๋ฐฉ๋ฒ์ ์๋ํ๋ ๊ฒ ์ข์ ๊ฒ ๊ฐ์ต๋๋ค.
์ต๊ณ ์ ๋๋ฒ๊น ๋ฐฉ๋ฒ์ console.log์ ๋๋ค.
๋ผ๋ ์๊ฐ์ ์ด์ ๋ฒ๋ ค์ผํ๊ฒ ์ต๋๋ค. ํธ๋ ์ค๊ฐ ์ ๋ฒ ๋ฏธ์ ๋ถํฐ ๋๋์ด ๋งํ์ง๋ง ์ด๋ฒ์ ์ญ์ console.log๋ฅผ ๊ฑฐ์นจ์์ด ์ฌ์ฉํ์ต๋๋ค. ํฌ๋กฌ ๊ฐ๋ฐ์ ๋๊ตฌ์์ ๋๋ฒ๊น ํด์ ์ด์ฉํ๋ค๋ฉด ๋ ๋น ๋ฅด๊ฒ ์ค๋ฅ์ ์์ธ์ ๋ฐ๊ฒฌํ์ ํ ๋ฐ ์์ฝ์ต๋๋ค. ใ ใ
๋๋ฌด ๊ธฐ์กด์ ๋ฐฉ์์๋ง ์ต์ํด์ ธ ์๋ก์ด ์๋๋ฅผ ํ์ง ์์ผ๋ ค ํ๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋ค์ ๋ฏธ์ ์ ๋ชฉํ์ console.log๋ก ๋๋ฒ๊น ํ์ง ์๊ธฐ๋ฅผ ์ ํ๊ณ ์์ํด์ผ๊ฒ ์ต๋๋ค.
์ด๋ฒ ๋ฏธ์ ์ ์ํํ๊ณ ๋๋ ์ ๋ค์ ํ ๋ฌธ์ฅ์ผ๋ก ํํํ๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ผ๊ด๋ ๋ฃฐ์ ์ ํ๊ณ ๊ทธ๊ฒ์ ๋ง์ถฐ ๊ฐ๋ฐ์ ์งํํ์.
๋ชฉ์์ผ 15์ ๊ฒฝ๊น์ง๋ ๋ถ๋ช ๊ฐ๋ฐ์ด ์ผ๊ด์ ์ธ ๋ฃฐ๋๋ก ์งํ๋๋๋ฐ ๊ทธ ์ดํ๋ ๊ธฐ๋ฅ์ ์์ฑ์๋ง ๊ธ๊ธํด ๋งํด๋ฒ๋ฆฐ ๋๋์ด ๋ง์ด ๋ค์์ต๋๋ค. ์์ฑ์ ๋ชปํ๋๋ผ๋ ์ผ๊ด๋ ๋ฃฐ์ ์งํค๋ ๊ฒ ์ณ๋ค๊ณ ์๊ฐ๋ฉ๋๋ค.
๊ทธ ๋ฃฐ์ด ์ด๋ค ๋ถ๋ถ์์ ์๋ชป๋์ด์ ๊ธฐํ ๋ด์ ์์ฑ์ํค์ง ๋ชปํ๋์ง๋ ํผ๋๋ฐฑํด์ผ ํ ๋ถ๋ถ ์ค ํ๋์ด๋ ๋ง์ ๋๋ค.
์ด๋ฒ ๋ฏธ์ ์ ์ข์ ์ ๋ ๋ง์์ง๋ง, ์์ฌ์ด ์ ์ด ์๋์ ์ผ๋ก ๋ ์ปค ๋ณด์ ๋๋ค. ๊ฐ์ฅ ํฐ ์ด์ ๋ ์๊ฐ๊ด๋ฆฌ, ๊ทธ๋ฆฌ๊ณ ํ์ ๊ฒฝํ ๋ถ์กฑ ๋๋ฌธ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
์ด๋ค ๋ถ๋ถ์ ๊ฐ๋ฐ์ ์งํํด์ผํ๊ณ ์ด๋ค ์์ ์ ํ๊ณ ์๋์ง, ํญ์ ํ์๊ณผ ์๋ ผํ๋ฉฐ ์๋ก๋ฅผ ์ง์์ ์ผ๋ก ๋ฆฌ๋ทฐํ๋ ์ต๊ด์ ์ด๋ฒ ์บ ํ์์ ๋ฐฐ์๊ฐ์ผ๊ฒ ์ต๋๋ค.
๋๋จํฉ๋๋ค ์ฃผ์๋... ๐