2012-05-20 3 views
0

JavaScript 개체 리터럴을 구성하는 가장 좋은 방법은 무엇입니까?JavaScript 개체 리터럴에서 메서드 및 속성을 구성하는 가장 좋은 방법

내가 일반적으로 같은 것을 할 :

var myObj = { 
    property1 : 'string', 
    property2 : true, 
    method1 : function() {}, 
    method2 : function() { 
     // Do something with method1 here 
     method1(); 
    } 
    init : function() { 
     method2(); 
    }  
}; 

기본적으로, 나는 상단에 내 전역 속성을 가지고 방법이 울부 짖는 소리.

또 다른 메소드를 호출하는 메소드가있는 경우, 먼저 저레벨의 메소드를 작성한 다음 그 메소드를 처리합니다. 이것은 기본적인 기능을 처음으로 읽었을 때와 함께 수행 된 작업보다 나에게 논리적으로 솔기가났습니다. 그러나 나는 나보다 많은 경험을 가진 사람들이 그 반대의 방법으로 일한다는 것을 알았다.

올바른 방법이 있습니까? 아니면 선택의 문제입니까?

또한 튜토리얼에서 사람들은 보통 빌드 메소드 나 init 메소드와 같이 밑줄이있는 _bulid 또는 _init과 같은 메소드 접두어를 사용합니다. 이 논리 뒤에 뭐죠?

+3

모든 네임 스페이스를 동일한 네임 스페이스 아래에두면 대부분의 경우 괜찮습니다. 모듈 패턴을 보길 원할 수도 있습니다. http://addyosmani.com/resources/essentialjsdesignpatterns/book/#modulepatternjavascript –

+0

밑줄은이 메소드가 "private"임을 표현하기 위해 자주 사용됩니다. – Niko

답변

1

there are a lot of ways to namespace stuff in JS 및 개체 리터럴은 그 중 하나 일 뿐이므로 실제로 프로그램과 코드 작성 방법에 따라 다릅니다.

_ 접두어와 관련하여 JS는 "클래스"에서 "개인 멤버"를 만드는 기본 제공 방법이 없습니다. 그런 것을 에뮬레이션하려면 클로저를 사용해야합니다. 그렇지 않으면 JS에있는 객체의 속성과 메서드가 항상 public임을 의미합니다. 일부 관례로 접두사로 _은 회원이 비공개 회원으로 사용된다는 것을 의미합니다.

관련 문제