Skip to content

COFFEESCRIPT Study #3 : 커피스크립트 시작하기 (1)

2013년 7월 13일

일반적으로 펄 같은 스크립트 언어를 사용해 본 사람들은 커피스크립트를 매우 편하게 사용할 수 있습니다. 다행이도 필자는 펄, 루비, 파이썬과 같은 스크립트언어와 익숙하기 때문에 커피스크립트를 배우는데 시간이 별로 걸리지 않았습니다.

커피스크립트는 자바스크립트 변수 시스템을 그대로 채용합니다. 자바스크립트에서 사용하는 var 라는 공통적으로 쓰이는 변수 선언문을 아예 사용하지 않아도 됩니다.

이해를 돕기위해 자바스크립트의 변수 시스템을 이해해보도록 하겠습니다. 자바스크립트는 다른 컴파일 언어와 달리 변수 타입이 존재하지 않습니다. 모든 것들을 오브젝트로 동일하게 취급합니다. 자바스크립트는 변수나 함수나 구분하지 않습니다. 따라서 선언문이 없어도 자바스크립트 문법과 동일하게 표현이 가능합니다.

위의 표현에서 오해가 있을 수 있습니다. 자바스크립트에서도 변수의 타입을 확인하는 typeof 같은 명령어가 있기 때문입니다. 하지만 그 내부구조를 확인해보면 typeof 도 오브젝트 내부에 있는 파라메터값 하나를 리턴해주는 것에 불과합니다. 이런 내부구조를 좀더 이해하기 위해서는 “더글라스 클락포트”의 자바스크립트 책을 참조해보는 것도 좋습니다. 물론 책이 쉽지는 않습니다만 자바스크립트의 내부 구조를 이해하는데 좋습니다.

명령어의 예재를 보겠습니다.

number = 42
opposite = true

위의 코드는 단순한 변수 선언문입니다. 아무런 선언이나 스코프 관련 내용이 없습니다. 이 부분도 이유가 있습니다. 자바스크립트의 스코프 구조는 하나이기 때문입니다. 바로 함수 기준입니다. 자바스크립트의 변수 스코프는 함수 내로 한정됩니다. 다양한 스코프를 가지고 있는 다른 컴파일 언어와 다르게 스코프는 기본적으로 함수 스코프를 가지고 있기 때문에 모든 변수 선언 기준을 함수 기준으로 고려해야 합니다. 이 부분도 시간이 되면 자세하게 다뤄보도록 하겠습니다.

조건 분기문도 단순하게 사용 가능합니다. 자바스크립트의 조건 분기문 자체가 단순한 문법으로 여러 조건을 확인하도록 되어있습니다. false, 0, undefined, null 이 값들 모두 if를 통과하지 못합니다. 자바스크립트는 여러가지 상황들을 동시에 고려해 개발자로 하여금 명확하게 이해하지 못하게 할 때가 있습니다. 같다는 표현도 자바스크립트에서는 == 과 === 가 의미하는 바가 다릅니다. 커피스크립트는 이부분을 매우 단순하게 표현 가능하도록 합니다.

number = -42 if opposite

커피스크립트의 배열선언은 자바스크립트와 거의 동일합니다.

list = [1,2,3,4,5]

이처럼 자바스크립트의 선언은 매우 쉽고 단순한 방법으로 사용하고 있습니다. 기존에 자바스크립트에서 불필요하게 반복되는 명령어들을 커피스크립트는 마치 원두를 제조한 커피가루처럼 곱고 아름답게 코드를 축약해 주었습니다. 위의 각각의 명령어들은 자바스크립트 코드로 자연스럽게 변환됩니다.

Advertisements

From → Development

댓글 남기기

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중

%d 블로거가 이것을 좋아합니다: