The result is the field of the object designated by the identifier. The . operator can be used on the left hand side or the right hand side of an assignment statement. If used on the right hand side, the named field must be existent. If used on the left hand side a new field is added to the object, if necessary. The index must be of type integer or string.
Field names are always case insensitive.
Assigning an object in fact assigns a reference to this object. These functions clear field names and so are useful for array operations.