์ง๊ธ๊น์ง HTML๊ณผ CSS์์ ๋์น๊ธฐ ์ฌ์ด ๊ฐ๋ ๋ค์ ๊ณต๋ถํ์ต๋๋ค. ๊ทธ ๋๊ฐ๋ง ํด๋ ๊ฝค ๋ง์ ์์ ํ์ตํ๊ณ ์ง์ง๋ก ์น์ฌ์ดํธ ๊ตฌ์กฐ๋ฅผ ์ง์ ๋ง๋ค๋ฉด์ ํ์ฉํด๋ณด๋ ๊ฒ๋ง ๋จ์๋ค์. ์ง์ ์๋ก์ด ์น์ฌ์ดํธ๋ฅผ ๋ง๋๋ ๊ฒ๋ ์ข์ง๋ง, ์ด๋ฏธ ์ ๋ง๋ค์ด์ ธ ์๋ ์ฌ์ดํธ๋ฅผ ํด๋ก ์ฝ๋ฉํ๋ ๊ฒ๋ HTML, CSS๋ฅผ ์ดํดํ๋๋ฐ ์์ฃผ ์ข์ ๋ฐฉ๋ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
๊ทธ๋ฌ๊ธฐ ์ํด์ JS๋ ๊ธฐ๋ณธ์ ์ธ ๋ด์ฉ์ ์๊ณ ์์ด์ผ ํ๊ธฐ ๋๋ฌธ์ ์ด์ง ์ ๋ฆฌํด๋ณด๋ ค ํฉ๋๋ค.
JS๋ ์น ํ๋ก ํธ ๊ฐ๋ฐ์๋ผ๋ฉด ๋๊ตฌ๋ ์ ํ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ด๊ณ ํ์ค ๊ฐ๋ฐ์ ์ธ์ด์ด๊ธฐ ๋๋ฌธ์ ๋ง์ ์ฐธ๊ณ ์๋ฃ๋ค์ด ์์ต๋๋ค. ์ ๋ JS๋ฅผ ๋ง์ด ์ ํด๋ณด์ง๋ ์์์ง๋ง ์ฝ๋ฉํ
์คํธ๋ฅผ ๋๋นํ๊ธฐ ์ํด ์กฐ๊ธ ๊ณต๋ถ๋ฅผ ํ์์ต๋๋ค. JS๋ฅผ ๋ณด๊ณ ๋๋์ ์ ์ฑ๊ธ ์ฐ๋ ๋์ธ ์ , ํ์ด์ฌ๊ณผ ๋น๊ตํ๋ฉด ์กฐ๊ธ ๋ณต์กํ๊ฒ ์ฝ๋๊ฐ ์ฐ์ธ๋ค๋ ์ ์ ๋๊ผ์ต๋๋ค.
ํ์คํ ๊ฐ๋ฐ์์ญ์ ๋ค์ด์ ๊ธฐ๋ถ์ด์๊ณ ๋์ด๋๊ฐ ํ ์ฌ๋ผ๊ฐ์ต๋๋ค(HTML, CSS๊ฐ ์ข์์ง...). ์์ผ๋ก ๊ณ์ ๋ง์ฃผ์น JS์ ์นํด์ง๊ธฐ ์ํด ๊ณ ๊ตฐ๋ถํฌํ ๊ฒ์ ์๊ฐํ๋ ์ฐธ ์ข์ต๋๋ค.. ํํ
๊ทธ๋ผ.. let's get started
dash-case(kebab-case) โ ํ๋์ ๋จ์ด๋ก ์ธ์, ๋์ด์ฐ๊ธฐ ๋๋
snake_case
camelCase
PascalCase โ ๋จ์ด ์ฒซ ๋ฌธ์ ๋๋ฌธ์
- JS
(ํ์ด์ฌ์์๋ snake ์ผ์ด์ค๋ฅผ ๋ง์ด ์ผ์๋๋ฐ JS๋ camel์ ์ฐ๋๊ตฐ์!)
String(๋ฌธ์ ๋ฐ์ดํฐ)
Number(์ซ์ ๋ฐ์ดํฐ)
Boolena(๋ถ๋ฆฐ ๋ฐ์ดํฐ)
Undefined
Null
Object(๊ฐ์ฒด ๋ฐ์ดํฐ)
Array(๋ฐฐ์ด ๋ฐ์ดํฐ)
์๋ฃํ์๋ค๋ฅธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ํฌ๊ฒ ๋ค๋ฅด์ง ์์ต๋๋ค.
๋ค๋ง, Null๊ณผ Undefined์ ๊ตฌ๋ถ์ด ํท๊ฐ๋ฆด ์ ์๋๋ฐ,
- Null -> ์๋์
- Undifined -> ์๋X
๋ผ๊ณ ๊ธฐ์ตํ๋ฉด ๋๊ฒ ์ต๋๋ค!
๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ์ฐธ์กฐ(์ฌ์ฉ)ํ๋ ๋ฐ์ดํฐ์ ์ด๋ฆ โ let, const, (var)
์์ฝ์ด(Reserved Word) - ํน๋ณํ ์๋ฏธ๋ฅผ ๊ฐ์ง๊ณ ์์ด, ๋ณ์๋ ํจ์ ์ด๋ฆ ๋ฑ์ผ๋ก ์ฌ์ฉํ ์ ์๋ ๋จ์ด
์ญ์ ๋ณ์๋ ์ค์ํ๊ณ ํ์ด์ฌ๊ณผ ๋ค๋ฅด๊ฒ JS๋ ์์ let, const๋ฅผ ๋ถ์ฌ์ ๋ณ์์ ๋ณํ๊ฐ ์์ ๋ก์ด์ง ์์๋ก ๊ณ ์ ํด์ผํ๋์ง ๋ฏธ๋ฆฌ ์๋ ค์ฃผ์ด์ผ ํฉ๋๋ค!
ํน์ ๋์(๊ธฐ๋ฅ)์ ์ํํ๋ ์ผ๋ถ ์ฝ๋์ ์งํฉ(๋ถ๋ถ) โ function
ํจ์(a, b) โ a, b๋ ๋งค๊ฐ๋ณ์(Parametets) โ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ฃผ๋ ๋งค๊ฐ์ฒด
ํจ์ ํธ์ถ(a,b) โ a, b๋ ์ธ์(Arguments) โ ์ ๋ ฅํ ๋ฐ์ดํฐ
์์ฑ ๋ถ๋ถ์ ํจ์๊ฐ ํํ๋์ด ์์ผ๋ฉด ๋ฉ์๋(Method)
๋งค๊ฐ๋ณ์์ ์ธ์์ ์ฐจ์ด๋ ๋ง์ด ํท๊ฐ๋ฆฌ๋ ๊ฐ๋ ์ธ๋ฐ ํ์คํ ์ง๊ณ ๋์ด๊ฐ์ผํฉ๋๋ค! ๐ค
Document Object Model, Application Programming Interface
DOM์ ์น์ฌ์ดํธ์ ์์
API๋ ์น์ฌ์ดํธ๊ฐ ๋์ํ๊ธฐ ์ํด์ ์ ๋ ฅํ๋ ํ๋ก๊ทธ๋๋ฐ ๋ช ๋ น
ํ๋์ html ์์ ๊ฒ์/์ฐพ๊ธฐ
html ์์ ๋ชจ๋ ๊ฒ์/์ฐพ๊ธฐ
const boxEls = document.querySelectorAll(โ.boxโ)
boxEls์ ๋ฐฐ์ด ๋ฐ์ดํฐ๊ฐ ๋จ
boxEls.forEach(function () {})
์ฒซ ๋ฒ์งธ ๋งค๊ฐ๋ณ์(boxEl): ๋ฐ๋ณต ์ค์ธ ์์
๋ ๋ฒ์งธ ๋งค๊ฐ๋ณ์(index): ๋ฐ๋ณต ์ค์ธ ๋ฒํธ
boxEls.ForEach(function (boxEl, index) {
boxEl.classList.add(order-${index+1}
)
console.log(index, boxEl)
Getter, ๊ฐ์ ์ป๋ ์ฉ๋
Setter, ๊ฐ์ ์ง์ ํ๋ ์ฉ๋
JS๋ก HTML/CSS๋ฅผ ์ปจํธ๋กค ํ ๋ ์์ผ๋ก ์์ฃผ ์ฌ์ฉํ API์ ๋๋ค. ์์๋ฅผ ๊ฐ์ ธ์ JS๋ก ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋๋ฐ ๋ง์ด์ฐ์ ๋๋ค. ์๋ฅผ ๋ค๋ฉด "๋ฒํผ์ ๋ง์ฐ์ค๋ก ํด๋ฆญํ์ ๋ ์ฌ์ง์ด ๋ํ๋๋ผ " ์ ๊ฐ์ ๊ธฐ๋ฅ๋ค์ DOM, API๋ก ์ ์ดํ ์ ์์ต๋๋ค! cool~ ๐ฎ
์ค๋์ JS๋ฅผ ๊ฐ๋จํ๊ฒ ์ดํด๋ดค์ต๋๋ค. JS์์ ๊ณต๋ถํด์ผํ ๊ฒ์ ์์ฒญ ๋ง์ง๋ง ๊ธฐ๋ณธ์ ์ธ ๊ฒ๋ง ์์งํ๊ณ ํด๋ก ์ฝ๋ฉ์ ์ค์ตํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
To be continued...! ๐ซ