An object is a set of properties, each with a name and a value.
Here is an example of an object.
d = {day: 4, month: "July"}
This object has two properties named day
and month
.
day
has the value 4 and month
has the value "July"
The punctuation is important. Each property name
must be followed by a colon :
and the property value,
and when listed on one line, the properties must be collected
using curly braces and separated with commas.
Object properties are accessed using a dot .
after the variable name.
d.month
refers to the value of the property month
of the d
object.
write d.month, d.day
Object properties can be changed just like variables.
d.day = 17
In CoffeeScript, object literals can be written on multiple lines.
If indented evenly, the curly braces and commas may be omitted. The following is equivalent to the code above:
d = day: 4 month: "July"
You often see multiline object literals as arguments
to functions. Here the css
function uses the object
properties to change the style of text on the page:
$("body").css background: "wheat" fontSize: "36px" textShadow: "0 0 5px"
The object's properties background
, fontSize
,
and textShadow
are standard CSS property names.
Special classes of objects can also be created using new
:
t = new Turtle write t.length t.fd 100
Turtle
is a predefined class: when you new Turtle
, it
creates an object with many properties such as length
(how
many turtles is just one) and fd
(a function that moves
the turtle forward).
Function properties like fd
are called methods.