
웹을 공부할 때 누구나 처음 현피 뜨게되는 놈이 있다. 정적인 웹을 “읽는 대상”에서, 동적인 웹을 “대화하는 대상”으로 바꿔주는 언어, 바로 JavaScript다.

HTML과 CSS만으로도 웹페이지는 모냥새를 갖출 수 있다. 하지만 그것만으로는 여전히 정적인 문서일 뿐이다. 버튼을 눌러도, 이미지를 클릭해도 아무 짓도 안 한다. 여기에 JavaScript가 추가되면 상황이 달라진다.

코드랑 처음 싸우고 얻는 경험치은 늘 비슷하다. “글자를 어떻게 쓰고, 이름을 어떻게 붙이고, 어떤 재료를 다루는지”를 아는 보상을 얻는 것이다. JavaScript도 마찬가지다.

Dynamic scripting with JavaScript' 에서 뽑아오고 싶은 것..만.. 내맘대로.. 정리하기..

코드를 짜다 보면 그냥 위에서 아래로 줄줄 실행하는 걸로는 안 된다. 상황에 따라 코드 길목을 갈라버려야 하고, 예기치 못한 사고에는 에러를 두들겨 패서 제압해야 한다.

코딩을 하다 보면 같은 짓을 수도 없이 반복해야 할 때가 생긴다. 그때마다 코드 복붙으로 줄 세우는 건 손목을 갈아버리는 자해 행위일 뿐 아니라, 나중에 고치려 들면 유지보수 지옥에서 두들겨 맞는 꼴이 된다. JavaScript는 이 참극을 막을 여러 무기를 던져준다.

함수는 자바스크립트에서 오지게 중요한 블록이다. 같은 코드 계속 복붙할 바에, 그냥 한 군데 쳐넣고 이름 하나 박아두면 된다. 입력 들어오면 겁나 굴려서 처리하고 결과를 던지신다.

자바스크립트에서 표현식이란 건 값 하나 쥐어짜내는 제일 작은 단위다. 연산자는 그 값들 억지로 붙여서 결과를 갈겨낸다. 어떤 건 값만 던지고 끝나지만, 어떤 건 부수효과까지 싸질러서 코드판을 싹 다 개판으로 만들어버린다.

JavaScript를 배우다 보면 가장 먼저 만나는 놈들이 있다. 바로 숫자와 문자열이다. 계산을 하든 텍스트를 후려 다루든, 결국 모든 로직은 이 둘 위에 올려놓고 굴려진다.

숫자랑 문자열이 자바스크립트에서 기본 중의 기본이라지만, 현실 프로그램은 결국 시간하고 맞짱 뜨게 된다. 게시글 언제 썼는지, 로그인 세션 언제 꺼져버릴지, 회의 일정 언제 빡세게 잡혀 있는지… 이런 걸 다루지 않으면 프로그램 꼴은 죄다 개판 난다.