2009년 1월 17일 토요일

자바스크립트 긴 매서드 짧게 만들어서 쓰자구요

자바스크립트를 작성하다 보면 긴 매서드명을 불편하 하는 경우가 많습니다. getElementById나 getElementsByTagName이 대표적이죠. 거기다 단어의 첫 글자를 대문자로 표기하는 카멜케이스 방식 역시 스크립트 작성을 더디게 하죠.

물론 어느정도 숙달이 되면 크게 게의치 않고 사용하게 되긴 하지만 Prototype.js나 jQuery와 같은 프레임워크를 사용해보면 $ 매서드의 편리함에 도저히 getElementById와 getElementsByTagName 를 고지식하게 타이핑 하기가 싫어집니다. (이래서 사람은 편해지면 안되나 봅니다 ㅠ ㅠ)

그래서인가요 Martin Ivanov가 이런 팁 하나를 소개해줬습니다.
가장 타이핑 하기 귀찮은 매서드중 하나인 getElementsByTagName을 단 4자로 줄여주는 방법입니다.

function $tag(tagName)
{
  return document.getElementsByTagName(tagName);
}

$tag라는 함수를 작성했습니다. 함수의 내용은 전달 받은 인자를 getElementsByTagName 매서드에 전달해서 값을 리턴하는 방식입니다. 아주 간단합니다. 이렇게 하면 앞으로 getElementsByTagName(div) 대신 $tag("div")로 사용할 수 있습니다! 원한다면 함수명을 1~2자로 더 줄일 수도 있습니다. 같은 방법으로 getElementById도 별도의 짧은 이름의 함수로 만들어서 사용할 수 있습니다.

자바스크립트 프레임워크는 여러모로 편리하고 다양한 기능을 쉽게 구현하게 해 주지만 일반적인 웹 사이트 개발에 절대적으로 필요한 경우는 많지 않다고 생각합니다. 그런 경우 위와 같은 방식으로 이름이 긴 매서드들을 축약 함수명으로 작성하여 이용한다면 개발의 편리함을 누려볼 수 있지 않을까 생각됩니다.

댓글 2개:

  1. trackback from: [javascript]입력값의 자리수 체크
    아.. 정말 공부할 것이 많구나.. 이쪽이 내 주업무였으면 공부할텐데.. 그런것도 아니고... 에휴.. 암튼 하나씩 햇던 것이라도 정리를 해보자. 4자리 값만 입력이 가능하게 해보자. 4자리 이상의 값을 입력하였을 경우 경고문을 보여줌. <script> function checkFourDigits(text){ if(text.value.length > 4 ){ alert("4글자만 입력 가능합니다. 4글자로 substring함"); text.value..

    답글삭제
  2. 오픈소스 c라이브러리들이나 자바스크립트나 함수명만 보면 어떤 역할인지를 짐작할 수 있게 하기위해 너무 많은 것을 희생하고 있는 듯...



    gtk_container_new(); 모양만 보면 아 'gtk_container를 새로 만드는구나'란 생각이 들 수 있겠지만 대신 인덴트가 한 두단만 넘어가면 80자는 금새 넘어버린다는거 (기본 터미널 가로 폭이 80글자)...

    답글삭제