제가 대학다닐 때, 그러니까 1999년부터 2006년 사이에는
“자바스크립트“하면 저는 그저 인터넷에 돌아다니는 몇몇 스크립트 긁어다가 붙여 쓰는게
다였습니다. 그 만큼 개념이 없었죠. ㅡㅡ;
하지만 지금은 그 중요성이 날로 증대되고 있는 상황이니 참 짧은 시간이지만
격세지감을 느낍니다.
저도 요즘 “ppk 자바스크립트“를 출근길에 보면서, “내가 자바스크립트 공부도 하는구나~!”
라는 사실이 가끔씩 새롭게 느껴질 때가 있습니다.
================================================================
각설하고, 잠깐 책에 나온 “자바스크립트 코어“부분에 나온 “객체“에 소개된 부분을
토대로 예제코드를 만들어 보았습니다.
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script><script type="text/javascript" language="javascript">// <![CDATA[ var test = { a : 2, b : '2', c : function() { return this.a*this.b; } }; $(document).ready(function() { /* for(var i in test) { alert(test[i]); } */ //document.write(test['c']()); document.write(test.c()); }); // ]]></script>
결과는 예상하신대로, “4”가 브라우져에 출력되게 됩니다.
test 객체의 b 프로퍼티의 값은 c메서드에서 숫자로 자동인식하여 2*2=4의 결과를
만들어내게 됩니다.
위 예제에서 for문의 주석을 풀고 결과를 확인하시면 test 객체의 각 프로퍼티와 메서드가
출력됩니다. c메서드는 본문 전체가 나오게 됩니다.
그리고 마지막에 test객체의 c메서드를 호출할때, “연관배열“을 사용할 수도 있습니다.
“연관배열“의 정의를 책에서 빌려오면
- 어떤 값의 이름 문자열을 사용해 그 값을 찾을 수 있게 해주는 배열
이라고 소개되어 있습니다. a프로퍼티는 test[‘a’] 저런식으로 가져오면 되겠죠.
자바스크립트에도 자바와 동일하게 try-catch-finally가 있어 헷갈리던 시절…
이제 자바스크립트도 자바처럼 “객체지향적“으로 “멋지게” 코딩할 수 있는 날이
어서 왔으면 좋겠네요. 많은 단련을 해야겠습니다. ^^