์ด๋ฒ ํฌ์คํธ์์๋ ์๋ฐ์คํฌ๋ฆฝํธ์ ๊ฐ์ฒด์ ๋ํด์ ์์๋ณผํ ๋ฐ์ ๊ฐ์ฒด๊ฐ ๋ฌด์์ธ์ง๋ ์๊ณ ๊ณ์ ๋ค๋ ์ ์ ํ์ ์ค๋ฌด ์์ฃผ์ ๋ด์ฉ์ ์๊ธฐํด๋ณด๋๋ก ํ ๊ฑฐ์์. ์๋ฐ์ ๊ฐ์ฒด์ ๋์ผํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์๋ฉด ๋๊ณ ๋จ์ง ์ฌ์ฉ๋ฒ์ด ์ด๋ค์ง์ ๋ํด์ ์๊ณ ๋์ด๊ฐ๋ ์ ๋๋ก ์ต๋ํ์๋ฉด ๋ ๊ฒ ๊ฐ์ต๋๋ค.
๊ฐ์ฒด์ ์์ฑ
์๋ฐ๋ฅผ ๊ณต๋ถํด ๋ณด์ ๋ถ๋ค์ด๋ผ๋ฉด ์์๊ฒ ์ง๋ง ๊ฐ์ฒด ์์๋ ํ๋ฆฌ๋ฏธํฐ๋ธ ๋ฉค๋ฒ๋ณ์๋ ๋ค๋ฅธ ๊ฐ์ฒด๋ฅผ ํ๋์ ๋ณ์์ฒ๋ผ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์ด๋ฐ ๋ฉค๋ฒ๋ณ์๋ค์ ์๋ฐ์คํฌ๋ฆฝํธ์์๋ ์์ฑ์ด๋ผ๊ณ ์๊ธฐ๋ฅผ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ ์์ฑ๋ค์ ๊ฐ์ ๋ฃ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.:๊ฐ์ฒด๋ช .์์ฑ๋ช = ์์ฑ๊ฐ; |
์์ :
์๋ ์์ ๋ document๊ฐ์ฒด์ title์ด๋ผ๋ ์์ฑ์ str๋ณ์์ ํ ๋นํ๋ ์์ ์ ๋๋ค.
var str = document.title; |
๊ฐ์ฒด์ ๋ฉ์๋
์ด๋ฒ์๋ ๋ฉ์๋์ ๋ํด์ ์์๋ณด์ฃ .
์์ :
์๋ ์์ ๋ document๊ฐ์ฒด ๋ด๋ถ์ ์ ์ธ๋์ด์๋ write()๋ฉ์๋๋ฅผ ํธ์ถํ๋ ์์ ์ ๋๋ค. ์ด๋ฏธ ์ฌ๋ฌ๋ฒ ๋ณด์ จ์ ๊ฒ๋๋ค. hello world ๋ญ ์ด๋ฐ ์์ ์์ ๋ง์ด์ฃ .
document.write("This is test"); |
์ฌ์ฉ์ ์ ์ ๊ฐ์ฒด
๋ค ์์๊ฒ ์ง๋ง ๋ชจ๋ ์ฌ์ฉ์์ ์ ๊ฐ์ฒด์ ์ด๋ฏธ ์ ์๋์ด์๋ built-in ๊ฐ์ฒด๋ค์ Object๋ผ๋ ๊ฐ์ฒด์ ํ์ ํด๋์ค๋ค์ ๋๋ค.
The new Operator:
์๋ ์์ ๋ new ์คํผ๋ ์ดํฐ๋ฅผ ์ด์ฉํด์ built-in JavaScript ๊ฐ์ฒด๋ค์ ์์ฑํ๋ ๊ฒ์ ๋ณด์ฌ์ฃผ๊ณ ์์ต๋๋ค.
var employee = new Object(); var books = new Array("C++", "Perl", "Java"); var day = new Date("August 15, 1947"); |
Object() ์์ฑ์:
์์ฑ์๋ผ๋ ๊ฒ์ ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ณ ์ด๊ธฐํํ๋ ๋ฉ์๋์ ๋๋ค. ์ ์์ ์์ new Object(); ์ Object()๋ Object๊ฐ์ฒด์ ์์ฑ์์ ๋๋ค. ์ด๋ ๊ฒ ์์ฑ๋ ๊ฐ์ฒด์ ๋ํ ๋ ํผ๋ฐ์ค๋ฅผ var๋ก ์ ์ธํ employee์ ํ ๋นํด์ฃผ๋ฉด ๋์ค์ ์ด ๊ฐ์ฒด์ ์ ๊ทผํ ๋ employee๋ผ๋ ์ด๋ฆ์ผ๋ก ์ ๊ทผํ ์ ์์ต๋๋ค. ๋ง์ฝ employee๊ฐ ์ด๋ฆ๊ณผ ๋์ด๋ฅผ ์์ฑ์ผ๋ก ๊ฐ์ง๊ณ ์๋ค๊ณ ํ๋ค๋ฉด ์ด๋ฐ ๊ฒ์ ์ด๋ป๊ฒ ๊ฐ์ ๋ฃ์ ์ ์์ ๊น์? ์์ฑ์ ๋ณ์๊ฐ ์๋๋๋ค. ๋ฐ๋ผ์ varํค์๋๋ก ์ ์ธ์ ํ์ง ์์ต๋๋ค. ์๋ ์์ ๋ฅผ ํ๋ฒ ๋ณด๋๋ก ํ์ฃ .
์์ 1:
์๋ ์์ ๋ ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ณ ๊ทธ ๊ฐ์ฒด์ ์์ฑ์ ์ ์ํด์ค๋๋ค.
<html> <head> <title>User-defined objects</title> <script type="text/javascript"> var book = new Object(); // Create the object book.subject = "Perl"; // Assign properties to the object book.author = "Mohtashim"; </script> </head> <body> <script type="text/javascript"> document.write("Book name is : " + book.subject + "<br>"); document.write("Book author is : " + book.author + "<br>"); </script> </body> </html> |
์์ 2:
์ด๋ฒ ์์ ๋ ์ฌ์ฉ์ ์ ์ ๊ฐ์ฒด๋ฅผ ๋ง๋๋ ์์ ์ ๋๋ค. ์ฌ๊ธฐ์ this ํค์๋๋ ํจ์๋ก ์ ๋ฌ๋ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ๋ ์ญํ ์ ํฉ๋๋ค.
<html> <head> <title>User-defined objects</title> <script type="text/javascript"> function book(title, author){ this.title = title; this.author = author; } </script> </head> <body> <script type="text/javascript"> var myBook = new book("Perl", "Mohtashim"); document.write("Book title is : " + myBook.title + "<br>"); document.write("Book author is : " + myBook.author + "<br>"); </script> </body> </html> |
๊ฐ์ฒด์ ๋ฉ์๋ ์ ์ํ๊ธฐ
์ด๋ฒ์๋ ๊ฐ์ฒด์ ๋ฉ์๋๋ฅผ ์ ์ํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
์์ :
<html> <head> <title>User-defined objects</title> <script type="text/javascript"> // ๊ฐ์ฒด์ ๋ฉ์๋๊ฐ ๋ ํจ์๋ฅผ ์ ์ํฉ๋๋ค. function addPrice(amount){ this.price = amount; } function book(title, author){ this.title = title; this.author = author; this.addPrice = addPrice; // ๋ฉ์๋๋ฅผ ์์ฑ์ผ๋ก ํ ๋น(์ ์ธ)ํฉ๋๋ค. } </script> </head> <body> <script type="text/javascript"> var myBook = new book("Perl", "Mohtashim"); myBook.addPrice(100); document.write("Book title is : " + myBook.title + "<br>"); document.write("Book author is : " + myBook.author + "<br>"); document.write("Book price is : " + myBook.price + "<br>"); </script> </body> </html> |
with ํค์๋
with ํค์๋๋ ๊ฐ์ฒด์ ์์ฑ์ด๋ ๋ฉ์๋๋ฅผ ์ฐธ์กฐํ๊ธฐ์ํ ๋จ์ถํค์๋ ๊ฐ์ ๊ฒ์ ๋๋ค.
with์ ํ๋ผ๋ฏธํฐ๋ก ์ ๋ฌ๋ ๊ฐ์ฒด๋ ํด๋น ๋ธ๋ฝ๋ด์์ ๊ธฐ๋ณธ์ ์ธ ์ฐธ์กฐ๋ณ์์ฒ๋ผ ๋์ํฉ๋๋ค.๋ฐ๋ผ์ ํด๋น ๊ฐ์ฒด์ ์์ฑ์ด๋ ๋ฉ์๋์ ์ ๊ทผํ ๋ ๊ถ์ด ํด๋น ๊ฐ์ฒด์ด๋ฆ๊ณผ ์ ์ ์์ฐ์ด๋ ๋ฉ๋๋ค.
๋ฌธ๋ฒ:
with (object){ properties used without the object name and dot } |
์์ :
<html> <head> <title>User-defined objects</title> <script type="text/javascript"> // Define a function which will work as a method function addPrice(amount){ with(this){ price = amount; } } function book(title, author){ this.title = title; this.author = author; this.price = 0; this.addPrice = addPrice; // Assign that method as property. } </script> </head> <body> <script type="text/javascript"> var myBook = new book("Perl", "Mohtashim"); myBook.addPrice(100); document.write("Book title is : " + myBook.title + "<br>"); document.write("Book author is : " + myBook.author + "<br>"); document.write("Book price is : " + myBook.price + "<br>"); </script> </body> </html> |
Reference : http://www.tutorialspoint.com/javascript/javascript_objects.htm