'Coffeescript'에 해당되는 글 2건
CoffeeScipt 에서 prototype 사용법
JavaScript Prototype
JavaScript에서 prototype은 해당 클래스의 모든 인스턴스가 공유하는 메소드입니다.
String.prototype.bark = function() {
return "멍멍!!";
};
String("강아지").bark(); // 멍멍!!
"Dog".bark(); // 멍멍!!
"고양이".bark(); // 멍멍!!
그런데 .prototype. 이거 입력이 은근 귀찮습니다.
CoffeeScript Prototype
커피스크립트에서는 :: 연산자로 .prototype.을 대신합니다.
String::bark = -> "멍멍!!"
String("강아지").bark() ## 멍멍!!
"Dog".bark() ## 멍멍!!
"고양이".bark() ## 멍멍!!
가끔 prototype의 메소드를 static 메소드인양 쓰고 싶다면 그냥 쓰면 됩니다.
String::bark() ##"멍멍!!"
보다 완벽한 내용은 CoffeeScript 홈페이지에서...
- Class에 관한 내용 바로 다음에 나오네요.
CoffeeScript, CoffeeScript 가 바로 생각나지 않는 JavaScript 코드들. [ Coffeescript, JavaScript, 자바스크립트, 커피스크립트 ]
Computer 2011/12/10 10:00"setTimeout" on JavaScript.
setTimeout 은 자바스크립트에서 자주 쓰이는 평범한 함수의 형태입니다.
setTimeout(function(){
eat('food');
}, 6000);
CoffeeScript 코드로 바꾸려면 어떻게 해야 할까요?
"setTimeout" on CoffeeScript.
저는 이렇게 작성했습니다. 바로 생각이 나지 않더군요.
setTimeout ()->
eat 'food'
, 6000
"assert.response" on JavaScript
JavaScript TDD 프레임웍인 expresso에서 assert.response 는 이렇게 생겼습니다.
assert.response(server, {
url: '/foo',
method: 'POST',
data: 'bar baz'
}, {
body: '/foo bar baz',
status: 200
}, function(res){
// All done, do some more tests if needed
});
커피 스크립트로, 어떻게 작성해야 할까요?
"assert.response" on CoffeeScript
많은 변종을 거쳐서 다음과 같은 코드가 작성되었습니다. 테스트 링크
assert.response server
,
url: '/foo'
method: 'POST'
data: 'bar baz'
,
body: '/foo bar baz'
status: 200
,
(res) ->
# All done, do some more tests if needed
뭘 기억하고 싶은 거냐면...
CoffeeScript 코드를 작성하다 자주 오류가 나는 부분을 정리해 놓은 것입니다.