learning

CoffeeScript, prototype의 단축 표현 '::'

눈침침 2012. 1. 30. 22:29

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 홈페이지에서...