커피에 대해서는 커피 문서를 참조하십시오.
alert "Hello, World!" # alert 방식 document.write "Hello, world!" # 문서에 쓰는 방식. console.log "Hello, world!" # 콘솔 방식
1 개요
공식 페이지
자바스크립트로 컴파일 되는 프로그래밍 언어. npm의 coffee-script 모듈을 통해 node.js에서도 사용할 수 있다. Backbone.js과 underscore.js 등을 만든 자바스크립트 진영의 유명한 개발자 Jeremy Ashkenas가 개발했다.
2 문법
- Assignment[1]
number = 42 opposite = true
- Conditional Assignment
number = -42 if opposite
- Function[2]
square = (x) -> x * x
- YAML처럼 생긴 객체 리터럴을 지원한다.
math = root: Math.sqrt square: square cube: (x) -> x * square x
- Existential Operator[3]
alert "알았다!" if elvis?
- List Comprehension
cubes = (math.cube num for num in list)
3 여담
- Node.js에서 은근히 많이 쓰인다. 이유는 아무래도 npm의 커피스크립트 모듈 때문인듯..
- 자바스크립트에 비해 문법이 간결하여 많은 개발자들의 사랑을 받았지만 서서히 저물고있는 중이다. 2016년 Stack Overflow 개발자 설문에서 저물고 있는 기술 3위를 차지했다.[4] 아무래도 최신 자바스크립트 문법을 지원하지 않고, 경쟁자인 TypeScript가 잘 나가고 있기 때문인듯 하다.