๐ ํ์ต์ ์ํด
Must-Know-About-Frontend
์์ ๊ฐ์ ธ์จ ๋ด์ฉ์ ์์ , ์ถ๊ฐํ์ฌ ์์ฑํ ๊ธ์ ๋๋ค. ๊ธฐ์กด ๋ด์ฉ๊ณผ ๋๋ถ๋ถ ์ ์ฌํ๋ฉฐ Summary ๋ถ๋ถ์ ์ถ๊ฐํ์์ต๋๋ค.
์ค๋ช | |
---|---|
์นดํ ๊ณ ๋ฆฌ | ์น ๋ธ๋ผ์ฐ์ ๊ด๋ จ ๊ฐ์ฒด๋ชจ๋ธ |
BOM | ๋ธ๋ผ์ฐ์ ์ ์ฐฝ์ด๋ ํ๋ ์์ ํ๋ก๊ทธ๋๋ฐ์ ์ผ๋ก ์ ์ดํ ์ ์๊ฒ ํด์ฃผ๋ ๊ฐ์ฒด๋ชจ๋ธ(window) |
DOM | ์นํ์ด์ง๋ฅผ ํ๋ก๊ทธ๋๋ฐ์ ์ผ๋ก ์ ์ดํ ์ ์๊ฒ ํด์ฃผ๋ ๊ฐ์ฒด๋ชจ๋ธ(Node) |
๋ธ๋ผ์ฐ์ ์ ์ฐฝ์ด๋ ํ๋ ์์ ํ๋ก๊ทธ๋๋ฐ์ ์ผ๋ก ์ ์ดํ ์ ์๊ฒ ํด์ฃผ๋ ๊ฐ์ฒด๋ชจ๋ธ ์ด๋ค. ์ด๋ฅผ ํตํด์ ๋ธ๋ผ์ฐ์ ์ ์ ์ฐฝ์ ์ด๊ฑฐ๋ ๋ค๋ฅธ ๋ฌธ์๋ก ์ด๋ํ๋ ๋ฑ์ ๊ธฐ๋ฅ์ ์คํ์ํฌ ์ ์๋ค. ์ ์ญ๊ฐ์ฒด๋ก window
๊ฐ ์์ผ๋ฉฐ ํ์ ๊ฐ์ฒด๋ค๋ก location
, navigator
, document
, screen
, history
๊ฐ ํฌํจ๋์ด ์๋ค.
์นํ์ด์ง๋ฅผ ํ๋ก๊ทธ๋๋ฐ์ ์ผ๋ก ์ ์ดํ ์ ์๊ฒ ํด์ฃผ๋ ๊ฐ์ฒด๋ชจ๋ธ ์ด๋ค. ์ต์์ ์ธํฐํ์ด์ค๋ก Node๊ฐ ์์ผ๋ฉฐ ์ด๋ ์๋์ ๊ฐ์ ๊ตฌ์กฐ๋ก ๋ํ๋๋ค.
์์ ํธ๋ฆฌ๊ตฌ์กฐ๋ฅผ ๋ณด๋ฉด ์๋ฆฌ๋จผํธ ๋ฟ๋ง ์๋๋ผ ํ ์คํธ์ ์ฃผ์๋ ์๋ ๊ฒ์ ์ ์ ์๋๋ฐ, ์ด๋ฐ ๊ฒ๋ค๊น์ง๋ DOM ํธ๋ฆฌ์ ํฌํจ๋๋ค. ์ค์ ์ ์ธ DOM ํธ๋ฆฌ๋ ์๋์ ๊ฐ์ด ์์ฑ๋๋ค.
<!DOCTYPE html>
<html>
<head>
<title>์ ๋ชฉ</title>
</head>
<body>
<div class="ํด๋์ค"></div>
<!-- ์ฃผ์ -->
<a href="https://naver.com">๋ค์ด๋ฒ</a>
</body>
</html>
Live DOM Viewer ๋ฅผ ์ฌ์ฉํด์ DOM ํธ๋ฆฌ๋ฅผ ๊ตฌ์ฑํด ๋ณธ๊ฒ์ผ๋ก ์๋ฆฌ๋จผํธ ๋ฟ๋ง ์๋๋ผ ํ
์คํธ ๋
ธ๋์ ์ฃผ์ ๋
ธ๋๊น์ง ํฌํจํ๊ณ ์๋ค. ์ด์ ์ด๋ฐ DOM์ ๋ค๋ฃจ๊ธฐ ์ํด์ getElementsById
, querySelector
, firstElementChild
๋ฑ๊ณผ ๊ฐ์ ๋ธ๋ผ์ฐ์ ๊ฐ ์ ๊ณตํ๋ DOM API๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค.
document.getElementById()
์ ๊ฐ์ ๋ฉ์๋๊ฐ DOM API์ ์ผ๋ถ์ด๋ค.