TIL 16: ์ ํจ์ฑ ๊ฒ์ฌ, ์ด๋ฒคํธ ๊ฐ์ฒด
์ค๋์ ์ ํจ์ฑ ๊ฒ์ฌ ํ์ด์ง ๋ง์ ์์ฑํ๊ณ , ์ด๋ฒคํธ ๊ฐ์ฒด์ ๋ํด ๋ฐฐ์ ์ต๋๋ค.
์ฃผ๋ง์ ์ด์ง 1์ฃผ์ฐจ์ ๋ฐฐ์ด ์ฝํ๋ฆฟ ๋ด์ฉ ๋ณต์ตํ๊ณ , ํ์ด๋ถ์ด๋ ํจ๊ป ๋์๊ฐ ์ ๋ ์๊ฐ์ ๋ ๋ด์ ์ด ์ฌ์ดํธ๋ฅผ ์์ฑํด๋ณด์์ด์!
์ผ๋จ Bare Minimum ์ด์์ผ๋ก ๋ ๋ง์ ๊ฒ๋ค์ ํด๋๊ธฐ์ ๋ง์กฑ์ค๋ฝ์ต๋๋ค.
๊ทธ๋๋ ํญ์ ๊ธฐ๋ณธ๊ธฐ๊ฐ ๋ค์ ธ์ง๋๋ก ์ฃผ์ํ๋ฉฐ ๊ณต๋ถํด๋ณด๊ฒ ์ต๋๋ค.
์๋์ ๊ฐ์ด ๊พธ๋ฉฐ ๋ณด์์ต๋๋ค. ๋์ฆ๋๋ฅผ ์ข์ํด์ ์ด๋ ๊ฒ ๋ง๋ค์ด๋ณด์์ด์!
๋๋ฆ ๋์์, ์ ๋๋ฉ์ด์ , Flexbox, Validation Check ๋ฑ ์ฌ๋ฌ๊ฐ์ง๋ฅผ ๋ฃ์ด๋ณด์์ต๋๋ค.
์ด๋ฌํ ํํ์ด์ง๋ฅผ ๋ง๋ค๊ธฐ ์ํด์๋ HTML, CSS, DOM ์ด ํ์ํฉ๋๋ค.
๋ฌผ๋ก ์ ๋๋ก ๋ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ค๋ฉด ๋ ๋ง์ ๊ฒ๋ค์ด ํ์ํ๊ฒ ์ง๋ง ๋ณด์ด๋ ๊ฒ๋ง์ผ๋ก ๋ดค์ ๋๋ ์ผ์ถ ๊ฐ์ถ ์ ์์์ต๋๋ค.
์ด๋ฒ์๋ ๋ด์ฉ์ ํ๋ํ๋ ์ ๋ฆฌํ๊ธฐ๋ณด๋ค๋ ์ ๊ฐ ๋ชฐ๋๋ ๋ถ๋ถ์ ์์ฃผ๋ก ์ ๋ฆฌํด๋ณด๋ ค๊ณ ํฉ๋๋ค.
๋จผ์ ์ฒ์์ DOM์ ๋ฐฐ์ ์ ๋, ์ฉ์ด ์์ฒด๊ฐ ๊ต์ฅํ ๋ฏ์ค์์ต๋๋ค.
Document Object Model(๋ฌธ์ ๊ฐ์ฒด ๋ชจ๋ธ)์ด๋ผ๋ ๋ป์ธ๋ฐ์.
๋ธ๋ผ์ฐ์ ๋ฅผ ์กฐ์ํ๊ธฐ ์ํ ํ๋์ ๊ธฐ์ค์ด๋ผ๊ณ ์๊ฐํ์๋ฉด ๋ฉ๋๋ค!
DOM์ Java Script์ ์ํด ๋ธ๋ผ์ฐ์ ๋ฅผ ์กฐ์ํ ์ ์์ผ๋ฉฐ, ํฌ๋กฌ์ด DOM์ ์ํด ๋ง๋ค์ด์ก๋ค๊ณ ํฉ๋๋ค.
๋ฐ๋๋ผJS๋ JS์ด์ธ์ ์ถ๊ฐ์ ์ธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฑ์ ์ฌ์ฉํ์ง ์๊ณ ์ค์ง JS๋ง ์ฌ์ฉํ ์ํ๋ฅผ ๋งํ๋ค๊ณ ํฉ๋๋ค.
innerHTML๊ณผ textContent์์ ์ฐจ์ด
innerHTML์ 'Element'์ ์์ฑ์ ๊ฐ์ต๋๋ค.
๋ํ ๋งํฌ์ ํ๊ทธ๋ฅผ ํธ๋ค๋งํ ์ ์์ต๋๋ค.
๋ฐ๋ผ์ <div>, <img>, <script> ํ๊ทธ ๋ฑ๋ ์ฝ์ ์ด ๊ฐ๋ฅํ๋ฐ์.
๋ ๋ค๋ฅธ ๋ง๋ก๋ XSS ๊ณต๊ฒฝ์ ๋์์ด ์ฝ๊ฒ ๋ฉ๋๋ค.
textContent๋ 'Node'์ ์์ฑ์ ๊ฐ์ต๋๋ค.
๋งํฌ์ ํ๊ทธ๋ฅผ ์ ์ธํ ๋ชจ๋ ๋ฌธ์์ด์ ์ฝ๊ณ , ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
์ด๋ฒคํธ ๊ฐ์ฒด๋ก๋ ์๋์ ๊ฐ์ ๊ฒ๋ค์ด ์์ต๋๋ค.
์์ง ์ง์ ์ฌ์ฉํ์ง ๋ชปํด๋ณธ ๊ฒ๋ ๋ช๊ฐ ์๋๋ฐ ๋ธ๋ก๊น ๋ง์น๊ณ ๋ง์ ํด๋ณด๋ ค๊ณ ํฉ๋๋ค!
- onclick
- onsubmit
- onchange
- onmouseover
- onkeyup
- event.preventDefault