Add custom properties to Objects

I mainly worked in Flash and AS3, and I am a bit “noob-ish” on Unity’s language.
I was wondering how can a add a custom value/property to an object, for example:

CustomObject.customValue = "The meaning of puppies"

and could a custom boject value be stored in a array with the object?

Think of an Object as having “Components” that can be added to it. Many of the components are Unity3D provided. However, if you create a Script (eg. JavaScript) then this becomes a component that can be added to your object. In your JavaScript, you can define public variables (properties). These then become exposed properties of your Component.

Now let us assume that you have a GameObject which has an attached Script (eg. MyScript). You can get a reference to that component with:

var myScript:MyScript = GetComponent.<MyScript>();

Now you have a reference to your instance of MyScript attached to the Game Object, you can access its properties:

if (myScript.customValue == "puppies") ...

The properties within a Script can include arrays.