์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- ํผํฐ ๋ชจ๋น
- Study
- git
- ๊ณ ์ฐจํจ์
- html
- ๋ฒ์ง ๋ชจํ
- jsx
- JavaScript
- Cmarket
- css animation
- prototype
- ํผํฐ ๋ชจ๋น์ ๋ฒ์ง ๋ชจํ
- Effect Hook
- ์คํ ์ด์ธ ์ฝ๋
- React
- BFS์ DFS
- ์คํ ์ด์ธ ์ฝ๋42๊ธฐ
- Lifting state
- fetch api
- ์ปดํจํฐ ๊ณตํ
- State
- ์๋งจํฑ์์
- css
- ํ ์คํธ ์์
- wai-aria
- WEB
- ์ ์ด์ฝฅ ๋์จ
- ํ๋ก๊ทธ๋๋จธ์ค
- props drilling
- ๋ฒ๋ค๋ง
- Today
- Total
๋ชฉ๋ก๐ป Development/JavaScript (18)
roqkf

๋น๋๊ธฐ ์ฝ๊ฒ ์ดํดํ๊ธฐ ์ปคํผ์์์ ์ปคํผ๋ฅผ ์ฃผ๋ฌธํ๋ ค๊ณ ์ค์ ์ ๋ค๊ณ ํ์ ๋, ๋จผ์ ์จ A๊ฐ ์ฃผ๋ฌธํด์ ์ปคํผ๋ฅผ ๋ฐ์ ๋๊น์ง B๋ ์ฃผ๋ฌธ์กฐ์ฐจ ํ ์ ์๋ค๊ณ ํ๋ฉด ์ฐ๋ฆฌ๋ ์ด๋ฅผ blocking์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค. => ํ๋์ ์์ ์ด ๋๋ ๋๊น์ง ์ด์ด์ด์ง๋ ์์ ์ ๋ง๋๋ค! [B๋ A๊ฐ ์ปคํผ๋ฅผ ๋ฐ๋ ์์ ๊ณผ B๊ฐ ์ฃผ๋ฌธ์ ์์ํ๋ ์์ ์ด ๊ฐ๋ค] => ์ด์ ๊ฐ์ ์ํฉ์ "๋๊ธฐ์ "์ด๋ค๋ผ๊ณ ํ๋ค. callback review ๋ค๋ฅธ ํจ์(A)์ ์ ๋ฌ์ธ์๋ก ๋๊ฒจ์ฃผ๋ ํจ์ parameter๋ฅผ ๋๊ฒจ๋ฐ๋ ํจ์(A)๋ callback ํจ์(B)๋ฅผ ํ์์ ๋ฐ๋ผ ์ฆ์ ์คํํ ์๋, ์๋๋ฉด ๋์ค์ ์คํํ ์๋ ์๋ค function B(){ console.log('called at the back!'); } function A(callback){ cal..

prototype ์ต์ ํ๋ ์ด์์ ๋ค๋ฅธ ๊ฐ์ฒด๋ก๋ถํฐ ์์๋ฐ์ผ๋ฉฐ, ์์๋๋ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ ๊ฐ์ฒด ์๋ฐ์คํฌ๋ฆฝํธ์ ๋ชจ๋ ๊ฐ์ฒด๋ ํ๋กํ ํ์ ์ด๋ ๊ฐ์ฒด๋ฅผ ๊ฐ์ง๊ณ ์๋ค. ๋ชจ๋ ๊ฐ์ฒด๋ค์ ๊ทธ๋ค์ ํ๋กํ ํ์ ์ผ๋ก๋ถํฐ ํ๋กํผํฐ์ ๋ฉ์๋๋ฅผ ์์๋ฐ๋๋ค. prototype ๊ฐ์ฒด ์๋ฐ์คํฌ๋ฆฝํธ์ ๋ชจ๋ ๊ฐ์ฒด๋ค์ ์์ ์ ๋ถ๋ชจ ์ญํ ์ ํ๋ ๊ฐ์ฒด์ ์ฐ๊ฒฐ์ด ๋์ด ์๋ค. ์ฌ๊ธฐ์ ๋ถ๋ชจ ์ญํ ์ ํ๋ ๊ฐ์ฒด๊ฐ ํ๋กํ ํ์ ๊ฐ์ฒด or ํ๋กํ ํ์ ์ด๋ผ๊ณ ํ๋ค! prototype ํ๋กํผํฐ ํจ์ ๊ฐ์ฒด๋ง ๊ฐ์ง๊ณ ์๋ ํ๋กํผํฐ ํจ์ ๊ฐ์ฒด๊ฐ ์์ฑ์๋ก ์ฌ์ฉ๋ ๋, ์ด ํจ์๋ฅผ ํตํด์ ๋ถ๋ชจ ์ญํ ์ ํ๋ ๊ฐ์ฒด(ํ๋กํ ํ์ )์ ๊ฐ๋ฆฌํด proto ํ๋กํผํฐ ํจ์๋ฅผ ํฌํจํด์ ๋ชจ๋ ๊ฐ์ฒด๊ฐ ๊ฐ์ง๋ ์ธํฐ๋ ์ฌ๋ก ๊ฐ์ฒด ์ ์ฅ์์๋ ์์ ์ ๋ถ๋ชจ ์ญํ ์ ํ๋ prototype ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํด pr..

์ ์ฐจ์ ์ธ์ด์ ๊ฐ์ฒด ์งํฅ ์ธ์ด ์ ์ฐจ์ ์ธ์ด: ์ด๊ธฐ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ค (C, ํฌํธ๋ ๋ฑ), ์์ฐจ์ ์ธ ๋ช ๋ น์ ์กฐํฉ - ์ ์ฐจ ์งํฅ: ํ๋ก๊ทธ๋จ์ด ๊ธฐ๋ฅ ์ค์ฌ, "๋ฌด์์ ์ด๋ค ์ ์ฐจ๋ก ํ ๊ฒ์ธ๊ฐ" ๊ฐ์ฒด ์งํฅ ์ธ์ด: "ํด๋์ค"๋ผ๊ณ ๋ถ๋ฅด๋ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ฒญ์ฌ์ง์ ์ฌ์ฉํด์ ์ฝ๋ ์์ฑ(Java, C++, C# ๋ฑ) - ๊ฐ์ฒด ์งํฅ: ๊ธฐ๋ฅ์ด ์๋ ๊ฐ์ฒด๊ฐ ์ค์ฌ, "๋๊ฐ ์ด๋ค ์ผ์ ํ ๊ฒ์ธ๊ฐ" OOP ํ๋ก๊ทธ๋จ ์ค๊ณ ์ฒ ํ ๋ชจ๋ ๊ฒ์ ๋ก ๊ทธ๋ฃนํ 4๊ฐ์ง ์ฃผ์ ๊ฐ๋ (์บก์ํ, ์์, ์ถ์ํ, ๋คํ์ฑ) OOP 4๊ฐ์ง ์ฃผ์ ๊ฐ๋ 1. Encapsulation (์บก์ํ) - ๋ฐ์ดํฐ์ ๊ธฐ๋ฅ์ ํ๋์ ๋จ์๋ก ๋ฌถ๋ ๊ฒ - ์๋: ๊ตฌํ์ ์จ๊ธฐ๊ณ , ๋์์ ๋ ธ์ถ - ๋์จํ ๊ฒฐํฉ์ ์ ๋ฆฌํจ: ์ธ์ ๋ ์ง ๊ตฌํ์ ์์ ๊ฐ๋ฅ - ์ฝ๋๋ ๋ฐ์ดํฐ์ ์๋์ ํฌ์ปค์ค๊ฐ ๋ง..

๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ ํ๋ก๊ทธ๋จ ๊ตฌํ์ ํ์ํ ๊ฐ์ฒด๋ฅผ ํ์ ํ๊ณ ๊ฐ๊ฐ์ ๊ฐ์ฒด๋ค์ ์ญํ ์ด ๋ฌด์์ธ์ง ์ ์ํด ๊ฐ์ฒด๋ค ๊ฐ์ ์ํธ์์ฉ์ ํตํด ํ๋ก๊ทธ๋จ์ ๋ง๋๋ ๊ฒ ํ๋ก๊ทธ๋๋ฐ์์ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ์ถ์ํ์์ผ ์ํ์ ํ์๋ฅผ ๊ฐ์ง ๊ฐ์ฒด๋ฅผ ๋ง๋ค๊ณ ๊ทธ ๊ฐ์ฒด๋ค ๊ฐ์ ์ ๊ธฐ์ ์ธ ์ํธ์์ฉ์ ํตํด ๋ก์ง์ ๊ตฌ์ฑํ๋ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ๋ฒ ํ๋์ ๋ชจ๋ธ์ด ๋๋ ์ฒญ์ฌ์ง์ ๋ง๋ค๊ณ , ๊ทธ ์ฒญ์ฌ์ง์ ๋ฐํ์ผ๋ก ํ ๊ฐ์ฒด๋ฅผ ๋ง๋๋ ํ๋ก๊ทธ๋๋ฐ ํจํด - ๊ฐ์ฒด: ์ค์ํ์์ ์ฐ๋ ๋ชจ๋ ๊ฒ ํ๋์ ๋ชจ๋ธ์ด ๋๋ ์ฒญ์ฌ์ง์ ๋ง๋ค๊ณ , ๐ "class" ๊ทธ ์ฒญ์ฌ์ง์ ๋ฐํ์ผ๋ก ํ ๊ฐ์ฒด๋ฅผ ๋ง๋๋ ๐ "instance" ํ๋ก๊ทธ๋๋ฐ ํจํด ๐ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ class ์ ์ํ๊ธฐ! ES5 VS ES6 function Car(brand, name, color){ // ์ธ์ค..

์ผ๊ธ ๊ฐ์ฒด ๋ํ์ ์ธ ์ผ๊ธ ๊ฐ์ฒด ์ค ํ๋๋ ํจ์! ๋ณ์์ ํ ๋นํ ์ ์๋ค ๋ค๋ฅธ ํจ์์ ์ ๋ฌ์ธ์๋ก ์ ๋ฌ๋ ์ ์๋ค ๋ค๋ฅธ ํจ์์ ๊ฒฐ๊ณผ๋ก์ ๋ฆฌํด๋ ์ ์๋ค ํจ์๋ฅผ ๋ณ์์ ํ ๋นํ ์ ์๋ค(ํจ์๋ฅผ ๋ฐฐ์ด์ ์์, ๊ฐ์ฒด์ ๊ฐ์ผ๋ก ์ ์ฅํ ์ ์๋ค!) 1. ๋ณ์์ ํจ์๋ฅผ ํ ๋นํ๋ ๊ฒฝ์ฐ const square = function(num){ // ๋ณ์ square์ ํจ์ ํ ๋น return num * num } let output = square(5) // ํจ์๊ฐ ํ ๋น๋ ๋ณ์ square๋ฅผ ํตํด ํธ์ถ console.log(output) // 25 ๊ณ ์ฐจ ํจ์ ํจ์๋ฅผ ์ ๋ฌ์ธ์๋ก ๋ฐ์ ์ ์๊ณ , ํจ์๋ฅผ ๋ฆฌํดํ๋ ํจ์ ์ฝ๋ฐฑ ํจ์: ๋ค๋ฅธ ํจ์์ ์ ๋ฌ์ธ์๋ก ์ ๋ฌ๋๋ ํจ์, ์ด๋ค ์์ ์ด ์๋ฃ๋์ ๋ ํธ์ถํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ ๋ต์ ์ ํ๋ฅผ ๋ปํ๋..

DOM(Document Object Model)์ด๋? HTML ์์๋ฅผ Object์ฒ๋ผ ์กฐ์ํ ์ ์๋ Model HTML์ ์์ฃผ ์์ ๋ถ๋ถ๊น์ง ์ ๊ทผํ ์ ์๋ ๊ตฌ์กฐ๋ฅผ DOM์ด๋ผ๊ณ ํ๋ค. DOM์ ์ด์ฉํ๋ฉด HTML๋ก ๊ตฌ์ฑ๋ ์นํ์ด์ง๋ฅผ ๋์ ์ผ๋ก ์์ง์ด๊ฒ ๋ง๋ค ์ ์๋ค. document ๊ฐ์ฒด์ ๊ตฌํ๋ผ ์๋ค. DOM์ 'ํธ๋ฆฌ ๊ตฌ์กฐ'๋ค! (๋ถ๋ชจ๊ฐ ์์์ ์ฌ๋ฌ ๊ฐ ๊ฐ์ง๊ณ , ๋ถ๋ชจ๊ฐ ํ๋์ธ ๊ตฌ์กฐ๊ฐ ๋ฐ๋ณต) HTML์ JavaScript๋ฅผ ์ ์ฉํ๋ ๋ฐฉ๋ฒ - HTML ํ์ผ๊ณผ ๊ฐ์ ๋๋ ํ ๋ฆฌ์ ์กด์ฌํ๋ index.js๋ฅผ ๋ถ๋ฌ์จ๋ค. ์น ๋ธ๋ผ์ฐ์ ๊ฐ ์์ฑ๋ ์ฝ๋๋ฅผ ํด์ํ๋ ๊ณผ์ ์์ ์์๋ฅผ ๋ง๋๋ฉด HTML ํด์์ ์ ์ ๋ฉ์ถ๊ณ ์์๋ฅผ ๋จผ์ ์คํํ๋ค! ๋ฑ์ฅ๊ณผ ํจ๊ป ์คํ๋๋ค๋ ์ ! ์์๋ฅผ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ ์์์ ์ถ๊ฐ ๊ฐ ๋๋๊ธฐ ์ ์ ์ถ๊ฐ D..