Reference Object

Object

A container for data that's stored as key-value pairs.

Objects help to organize related data of any type, including other objects. A value stored in an object can be accessed by name, called its key. Each key-value pair is called a "property." Objects are similar to dictionaries in Python and maps in Java and Ruby.

For example, an object could contain the location, size, and appearance of a dog:

// Declare the dog variable and assign it an object.
let dog = { x: 50, y: 50, size: 20, emoji: '🐶' };

// Style the text.
textAlign(CENTER, CENTER);
textSize(dog.size);

// Draw the dog.
text(dog.emoji, dog.x, dog.y);

The variable dog is assigned an object with four properties. Objects are declared with curly braces {}. Values can be accessed using the dot operator, as in dog.size. In the example above, the key size corresponds to the value 20. Objects can also be empty to start:

// Declare a cat variable and assign it an empty object.
let cat = {};

// Add properties to the object.
cat.x = 50;
cat.y = 50;
cat.size = 20;
cat.emoji = '🐱';

// Style the text.
textAlign(CENTER, CENTER);
textSize(cat.size);

// Draw the cat.
text(cat.emoji, cat.x, cat.y);

An object's data can be updated while a sketch runs. For example, the cat could run away from the dog by updating its location:

// Run to the right.
cat.x += 5;

If needed, an object's values can be accessed using square brackets [] and strings instead of dot notation:

// Run to the right.
cat["x"] += 5;

This syntax can be helpful when the key's name has spaces, as in cat['height (m)'].

Examples

Notice any errors or typos? Please let us know. Please feel free to edit src/core/reference.js and open a pull request!

Related References