http://mulriver.egloos.com/4666528

: JavaScript에서 Java에는 없던, “이상한” 개념들이… 왜 필요할까?를 아주 간단하게 설명해주는 문서입니다.

원문 저자는 “JavaScript: Good Part” (Oreilly) 의 저자인 듯 합니다.

– Closure와 같은 방식으로 해석하면, “Hoisting” 개념도 결국 OOP의 private member를 흉내내기 위한 개념으로 정리될 것 같네요.

(= function 내부 아무데나 널려 있을 수 있는 private member 변수 정도~)

전에, 원팀장이 알려준 JavaScript code가 들어있는 svn을 대충 봤을땐,

이걸… 그냥 Java로 하나,

JavaScript으로 하나, 무슨 차이가 있을까 싶었는데,

“C++” 컴파일러로 “C”스럽게 코딩하는 상황이랑 비슷한 것 같네요.

실행 시점에, 동적으로 Object가 자기 스스로 모양을 막 바꿔가면서, 만들어가는 상황이 필요한 경우라면,

굳이 JavaScript를 써야 할 이유가 있는 상황이 되는 것 같네요.

즉, Object가 미리 결정된 모양, 그대로 일관성있게 같은 instance를 튀겨서,

free할 때까지 미리 결정된 모양으로 살다가 죽으면,

굳이 JavaScript를 써야 할 이유가 없다는 …. ^^;

Advertisements