# ๐ผ๏ธ BOM (Browser Object Model)
# ๐ง๐ผโ๐ BOM์ ์์์ผ ํ๋ ์ด์
โ์ ์ ์๊ฒ ๊ฒฝ๊ณ ์ฐฝ์ ๋์ฐ๊ณ ์ถ์ ๊ฒฝ์ฐ, โ์ ์ ์ yes or no์ ๊ฐ์ ์ ํ์ ๋ฐ๋ผ ๋ค๋ฅธ ์๋ต์ ๋ณด์ฌ์ฃผ๊ณ ์ถ์ ๊ฒฝ์ฐ โ์ ์ ๊ฐ ๋ธ๋ผ์ฐ์ ์ฐฝ์ ๋ซ๊ธฐ ์ ์ ์ ๋ง ๋ ๋ ๊ฒ์ธ์ง ํ์ธํ๊ณ ์ถ์ ๊ฒฝ์ฐ โ์ ์ ๊ฐ ์ ์ํ ํ๊ฒฝ์ ์๊ณ ์ถ์ ๊ฒฝ์ฐ โํ์ฌ url ์์น ๋ฐ, ์ ์ history๋ฅผ ์๊ณ ์ถ์ ๊ฒฝ์ฐ
์ฌ๋ฌ ui๋ฅผ ์ง์ ๋ง๋ค๊ณ ์๋ฐ์คํฌ๋ฆฝํธ๋ก ์ง์ ์ ์ดํ ์๋ ์์ง๋ง, ๋ธ๋ผ์ฐ์ ์์ ์ ๊ณตํ๋ ๊ธฐ๋ณธ API๋ฅผ ์ฌ์ฉํ๋ค๋ฉด ํจ์ฌ ๋น ๋ฅด๊ณ ๊ฐ๋จํ๊ฒ ํ๋กํ ํ์ดํ์ ํ ์ ์์ต๋๋ค.
# ๐๐ปโโ๏ธ ์ด ๋ฌธ์๋ฅผ ๋ณด๊ณ ๋๋ฉด
- ๏ธ
alert
์ ์ด์ฉํ๋ฉฐ ์ฌ์ฉ์์๊ฒ ๋ฉ์ธ์ง๋ฅผ ๋์ธ ์ ์๋ค. -
confirm
์ ์ด์ฉํ์ฌ ์ฌ์ฉ์๊ฐ ๋์์ ๊ฒฐ์ ํ ์ ์๊ฒ ์ค์ ํ ์ ์๋ค. -
prompt
๋ฅผ ์ด์ฉํ์ฌ ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ๊ฐ์ ๋ฐ์์ฌ ์ ์๋ค. - ์ฌ์ฉ์๊ฐ ํ์ด์ง๋ฅผ ๋ ๋๊ธฐ ์ ์ ํ์ธํ๋ ๊ฒฝ๊ณ ๋ฉ์ธ์ง๋ฅผ ๋์ธ ์ ์๋ค.
# ๐ผ๏ธ BOM: Browser Object Model
BOM(Browser Object Model)์ ์น ๋ธ๋ผ์ฐ์ ํ๊ฒฝ์ ๋ค์ํ ๊ธฐ๋ฅ์ ๊ฐ์ฒด์ฒ๋ผ ๋ค๋ฃจ๋ ๋ชจ๋ธ์ ๋๋ค. ๋๋ถ๋ถ์ ๋ธ๋ผ์ฐ์ ์์ ๊ตฌํ์ ๋์ด์์ง๋ง, ์ ์๋ ํ์ค์ด ์์ด ๋ธ๋ผ์ฐ์ ์ ์์ฌ ๋ง๋ค ์ธ๋ถ์ฌํญ์ด ๋ค๋ฅด๊ณ ๋ค์ ํ์ ์ ์ด๋ผ๋ ํน์ง์ด ์์ต๋๋ค. BOM์ ์ญํ ์ ์น ๋ธ๋ผ์ฐ์ ์ ๋ฒํผ, URL ์ฃผ์ ์ ๋ ฅ ์ฐฝ, ํ์ดํ ๋ฐ ๋ฑ ์น๋ธ๋ผ์ฐ์ ์๋์ฐ ๋ฐ ์นํ์ด์ง์ ์ผ๋ถ๋ถ์ ์ ์ดํ ์ ์๊ฒ๋ ํ๋ ๊ฒ์ ๋๋ค. window ๊ฐ์ฒด๋ฅผ ํตํด ์ ๊ทผ์ด ๊ฐ๋ฅํฉ๋๋ค. ์๋๋ ๋ํ์ ์ธ BOM ๊ฐ์ฒด๋ค์ ๋๋ค.
- 1) window: Global Context. ๋ธ๋ผ์ฐ์ ์ฐฝ ๊ฐ์ฒด
- 2) screen: ์ฌ์ฉ์ ํ๊ฒฝ์ ๋์คํ๋ ์ด ์ ๋ณด ๊ฐ์ฒด
- 3) location: ํ์ฌ ํ์ด์ง์ url์ ๋ค๋ฃจ๋ ๊ฐ์ฒด
- 4) navigator: ์น๋ธ๋ผ์ฐ์ ๋ฐ ๋ธ๋ผ์ฐ์ ํ๊ฒฝ ์ ๋ณด ๊ฐ์ฒด
- 5) history: ํ์ฌ์ ๋ธ๋ผ์ฐ์ ๊ฐ ์ ๊ทผํ๋ URL history
window.onbeforeunload = function() {
return '์์ฑ ์ค์ธ ๋ฉ์์ง๊ฐ ์์ต๋๋ค.'
}
# ๐ ์ ๋ฆฌ
- BOM์ ์น ๋ธ๋ผ์ฐ์ ์ ๊ธฐ๋ฅ๋ค์ ๊ฐ์ฒด์ฒ๋ผ ๋ค๋ฃจ๋ ๋ชจ๋ธ์ด๋ค.
- ์ ์๋ ํ์ค์ด ์์ด ๋ธ๋ผ์ฐ์ ์ ์์ฌ๋ง๋ค ๊ตฌํ์ด ๋ค๋ฅด๋ค.
- BOM์์ ์ ๊ณตํ๋ API๋ฅผ ์ ๊ทน ํ์ฉํ๋ฉด, ์ฌ์ฉ์ ๊ฒฝํ์ ํฅ์์ํฌ ์ ์๋ค.
โ ๐ DOM ๐๏ธ Javascript Data Type โ