اندازهی قلم متن
تخمین مدت زمان مطالعهی مطلب:
دو دقیقه
Classes
کلاس نه تنها در جاوااسکریپت بلکه در سایر زبانها از جمله CoffeeScript نیز، بسیار مفید است.
در پشت صحنه، CoffeeScript برای ایجاد کلاس از prototype استفاده میکند. برای ساختن کلاس در CoffeeScript از کلمه کلیدی class باید استفاده کنید.
class Animal
var Animal; Animal = (function() { function Animal() {} return Animal; })();
animal = new Animal
class Animal constructor: (name) -> @name = name
var Animal; Animal = (function() { function Animal(name) { this.name = name; } return Animal; })();
class Animal constructor: (@name) ->
animal = new Animal "Cat" alert "Animal is a #{animal.name}"
Instance properties
اضافه کردن property به یک کلاس بسیار ساده و راحت است، syntax این کار دقیقا مانند اضافه کردن property به یک object است. فقط نکته ای که باید رعایت شود میزان تو رفتگی property نوشته شده است که به طور صحیح در داخل بدنه کلاس قرار بگیرد.class Animal price: 5 sell: (customer) -> animal = new Animal animal.sell(new Customer)
var Animal, animal; Animal = (function() { function Animal() {} Animal.prototype.price = 5; Animal.prototype.sell = function(customer) {}; return Animal; })(); animal = new Animal; animal.sell(new Customer);
Static properties
برای تعریف property به صورت static باید کلمه کلیدی this را به ابتدای آن اضافه کنید.class Animal this.find = (name) -> Animal.find("Dog")
class Animal @find: (name) -> Animal.find("Dog")
var Animal; Animal = (function() { function Animal() {} Animal.find = function(name) {}; return Animal; })(); Animal.find("Dog");