๐ป ๊ฐ์ฒด์ ๋ํด ์์๋ด ์๋ค
์๋ฐ์คํฌ๋ฆฝํธ๋ ๊ฐ์ฒด ๊ธฐ๋ฐ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ๋งํฉ๋๋ค.
์ฆ, ๊ฐ์ฒด ์งํฅ ์ธ์ด๋ผ๊ณ ํฉ๋๋ค.
๊ฐ์ฒด๋ฅผ ๊ตฌ์ฑํ๋ ์์๋ก๋ ์์ฑ(property)๊ณผ ๊ธฐ๋ฅ(method)๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
[๊ธฐ๋ณธํ] ๊ฐ์ฒด.์์ฑ๋ช = ๊ฐ; : ํน์ ๊ฐ์ฒด ์์ฑ์ ๊ฐ์ ๋ฐ๊พธ๊ณ ์ถ์ ๋ ์ฌ์ฉํฉ๋๋ค. ๊ฐ์ฒด.์์ฑ๋ช ; : ํน์ ๊ฐ์ฒด์ ํ ๋น๋์ด ์๋ ์์ฑ๊ฐ์ ์๊ณ ์ถ์ ๋ ์ฌ์ฉํฉ๋๋ค. ๊ฐ์ฒด.๋ฉ์๋(); : ํน์ ๊ฐ์ฒด์ ๊ธฐ๋ฅ์ ์คํ์ํฌ ๋ ์ฌ์ฉํฉ๋๋ค.
๐ ๊ฐ์ฒด์ ์ข ๋ฅ์ ๋ํด ์์๋ด ์๋ค
์๋ฐ์คํฌ๋ฆฝํธ์ ๊ฐ์ฒด๋ ํฌ๊ฒ ๋ด์ฅ๊ฐ์ฒด, ๋ธ๋ผ์ฐ์ ๊ฐ์ฒด๋ชจ๋ธ(BOM, Browser Object Model),
๋ฌธ์ ๊ฐ์ฒด(DOM, Document Object Model)๊ฐ ์์ต๋๋ค.
๋ด์ฅ ๊ฐ์ฒด๋, ์๋ฐ์คํฌ๋ฆฝํธ ์์ง ์์ ๋ด์ฅ๋์ด ํ์ํ ๊ฒฝ์ฐ์ ์์ฑํ์ฌ ์ฌ์ฉํ ์ ์์ต๋๋ค. (๊บผ๋ด์ฐ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค.)
๋ด์ฅ ๊ฐ์ฒด์ ์ข ๋ฅ๋ก๋ ๋ ์ง ๊ฐ์ฒด, ๋ฌธ์ ๊ฐ์ฒด, ๋ฐฐ์ด ๊ฐ์ฒด, ์ํ ๊ฐ์ฒด๊ฐ ์์ต๋๋ค.
๋ธ๋ผ์ฐ์ ๊ฐ์ฒด๋, ๋ง ๊ทธ๋๋ก ๋ธ๋ผ์ฐ์ ๋ฅผ ์๋ฏธํฉ๋๋ค.
๋ธ๋ผ์ฐ์ ์ ๊ณ์ธต ๊ตฌ์กฐ๋ก ๋ด์ฅ๋์ด ์์ต๋๋ค.
๋ธ๋ผ์ฐ์ ๊ฐ์ฒด์ ์ข ๋ฅ๋ก๋ window๊ฐ์ฒด, location๊ฐ์ฒด, screen๊ฐ์ฒด, history๊ฐ์ฒด, navigator๊ฐ์ฒด๊ฐ ์์ต๋๋ค.
๋ฌธ์ ๊ฐ์ฒด๋, ๋ง ๊ทธ๋๋ก html ๋ฌธ์ ๊ตฌ์กฐ๋ฅผ ๋งํฉ๋๋ค.
html ํ๊ทธ๋ ์ต์์ ๊ฐ์ฒด๋ก ์์ชฝ์ ๋ค์ํ ํ์ ๊ฐ์ฒด๋ค์ ํฌํจํ ์ ์์ต๋๋ค.
ํ์ง๋ง ์๋ฐ์คํฌ๋ฆฝํธ์ ๋ฌธ์ ๊ฐ์ฒด๋ ๋ธ๋ผ์ฐ์ ๊ฐ์ ํธํ์ฑ์ด ๋ฎ๋ค๋ ๋จ์ ์ด ์์ด,
jQuery๋ผ๋ ์ธ์ด๊ฐ ๊ฐ๋ฐ ๋์์ต๋๋ค.
ํ์ฌ๋ ES6๋ฒ์ ์ผ๋ก ์๋ฐ์คํฌ๋ฆฝํธ์ ํธํ์ฑ์ ๋์ธ ๋ฒ์ ์ผ๋ก ์ ๋ฐ์ดํธ ๋์ด,
๋ค์ํ ์์ฑ๊ณผ ๊ธฐ๋ฅ์ ์ด์ฉํด ํ๊ทธ๋ค์ ์ ์ดํ ์ ์์ต๋๋ค.
โจ ๋ด์ฅ ๊ฐ์ฒด์ ๋ํด ์์๋ด ์๋ค.
๋ด์ฅ ๊ฐ์ฒด(built-in object)๋ ์๋ฐ์คํฌ๋ฆฝํธ ์์ง ์์ ๋ด์ฅ๋ ๊ฐ์ฒด๋ฅผ ๋งํ๋ฉฐ,
ํ์ํ ๊ฒฝ์ฐ ๊ฐ์ฒด๋ฅผ ์์ฑํ์ฌ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ด์ฅ ๊ฐ์ฒด๋ฅผ ์์ฑํ ๋์๋ new๋ผ๋ ํค์๋๋ฅผ ์ด์ฉํ์ฌ ์์ฑํ ์ ์์ต๋๋ค.
โ ๋ชจ๋ ๊ฐ์ฒด๋ ๋ณ์ ์์ ์ ์ธํด์ผ ํฉ๋๋ค.
[๊ธฐ๋ณธํ] 1. var ๋ณ์ = new object(); ๋ณ์.์์ฑ1 = ๊ฐ; ๋ณ์.ํจ์(๋ฉ์๋) = ํจ์(){์ฝ๋} ----------------------------------------------------------------------------- object = ์์ฑํจ์๋ผ๋ ๋ป์ผ๋ก, ์ปค์คํ ํ์ฌ ๋ง๋ค ๊ฐ์ฒด๋ฅผ ์ ์ธํ ๋ ์ฌ์ฉํฉ๋๋ค. โ 2. var ๋ณ์ = { ์์ฑ๋ช 1 : ๊ฐ1, ์์ฑ๋ช 2 : ๊ฐ2, ์์ฑ๋ช 3 : ๊ฐ3, ํจ์๋ช : ํจ์(){} } ----------------------------------------------------------------------------- 1๋ฒ ๊ธฐ๋ณธํ์ ์ถ์ฝํ์ผ๋ก, new object()๊ฐ ๊ณง {}์ด๋ค. {}์ค๊ดํธ ์์ ์์ฑ๊ณผ ๋ฉ์๋๋ฅผ ํ๊บผ๋ฒ์ ์ ์ธํ์ฌ ์ธ ์ ์์ต๋๋ค.
<script> // ์๋ก์ด tv ๊ฐ์ฒด ์์ฑ var tv = new Object(); // = {} // tv ๊ฐ์ฒด์ color ์์ฑ๊ณผ price ์์ฑ์ ์ถ๊ฐ tv.color = "white"; tv.price = 30000; // tv ๊ฐ์ฒด์ info ๋ฉ์๋๋ฅผ ์ถ๊ฐ tv.info = function () { //this ํค์๋๋ ํด๋น ๊ฐ์ฒด. ์ฆ, tv ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํต๋๋ค. document.write("tv์์ : " + this.color, "<br/>"); document.write("tv๊ฐ๊ฒฉ : " + this.price, "<br/>"); }; document.write("<h2>tv ๊ฐ์ฒด์ info ๋ฉ์๋ ํธ์ถ</h2>"); tv.info(); //์๋ก์ด car ๊ฐ์ฒด ์์ฑ var car = { color: "black", price: "500000", info: function () { //this ํค์๋๋ ํด๋น ๊ฐ์ฒด. ์ฆ, car ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํต๋๋ค. document.write("car ์์ : " + this.color, "<br/>"); document.write("car ๊ฐ๊ฒฉ : " + this.price, "<br/>"); }, }; document.write("<h2>car ๊ฐ์ฒด์ info ๋ฉ์๋ ํธ์ถ</h2>"); car.info(); </script>
๐จ๏ธ ์์ผ๋ก ์ง์ ๊ณต๋ถํ ๋ด์ฉ์ ๋ฐํ์ผ๋ก ์์ฑํ ๊ธ์ด๋๋๋ค !
โ๏ธ
์์ผ๋ก๋ ์ด์ฌํ ๊ณต๋ถํด์ ๋ง์ ๋ด์ฉ์ ๊ณต์ ํ๊ฒ ์ต๋๋ค :)