먼저 필자소개를 잠시 하겠다.

필자는 1년된 안드로이드 개발자다. C와 java를 학교에서 배우고 T아카데미, 비트앱센터 등에서 Android를 배운 뒤 개발자로 취업하여 1년간 일했다. 

지난 1년간 안드로이드로 Client level만 구현하였는데, 제 8회 Startup Weekend 에 참여하고나서 Web, Server, DB를 모르고 Client level만으로는 프로젝트 구현이 불가능하다는 것을 알게 되었다. 물론 Client, Web, Sever, DB를 다루는 개발자가 각각 세분화되어있지만, 필자 성격상 이를 전부 이해하지 못하는 것이 납득이 안되었다.

Startup Weekend를 계기로 필자는 Web과 Sever, DB를 공부하기 시작했다. 

필자는 안드로이드를 통해서 개발자로 입문하였기에 Web을 공부하면서 안드로이드와 비교하게 되었다. 문득, 필자처럼 안드로이드로 입문하여서 Web으로 확장하는 사람도 많을 것 같은 생각이 들었다. Web을 공부하면서 생기는 노하우들을 그들과 공유하며 블로깅을 할 예정이다.

Var… 이게뭐지?

int, String, long 따위의 자료형에 익숙해져있는 필자는 javaScript를 접하자마자 var라는 녀석을 만나고 멘붕이 왔다. 숫자, 문자 심지어 java에서 클래스에 해당하는 function까지 모조리 담는 var라는 녀석은 당췌 이해가 가질 않았다.

필자는 var를 무엇이든 담을 수 있는 빈 공간이라 이해하기로 했다. 좀 쉽게 말하면 무엇이든 담을 수 있는 바가지라 할 수 있겠다.

var라는 개념을 대충 이해해보기위해 예제를 만들어보았다.

다음 버튼을 누르면


alert 창이 뜨게된다.

아래는 위 버튼의 소스다.

<script type="text/javascript">
	var car = function(name) {
		this.name = name;
	}
	function push1() {
		var sonata = new car('sonata');
		alert(sonata.name);
	}
	function push2() {
		var bmw = new car('BMW');
		alert(bmw.name);
	}
</script>
<button onclick="push1()">소나타</button>
<button onclick="push2()">BMW</button>

<출처 – Dragon>

onclick 이벤트를 통해서 function에 연결되는것은 class를 호출하는 것과 같은 기능으로 보인다. 신기한 점은 name 변수를 선언하지 않았는데도 바로 사용이 가능하다는 점이다.

var car에 function을 바로 선언하는 점 또한 처음 사용해보는 모습이라 어리버리했지만 몇번 고치다보니 위와 같은 구조는 익숙해지게 되었다.

var는 그냥 객체, 변수 등 모든것을 담는 바가지 or 그릇으로 이해하고 넘어가자.