If no value has been defined via a preference or otherwise inherited or manually set, the following are the value of 'no value' for each attribute data type.
All the other data types are essentially special forms of a String-based data type:
†. Only 3 types, out of all data types above, allow the storage of multiple values (i.e. 'lists' of discrete values), two of which are themselves specialised versions of the first:
- List.
- Set‡. A list where any (case-sensitive) duplicate values are automatically removed. Sets also use a lexical auto-sort so cannot be relied upon to retain user-set listing order (e.g. such as by setting $Sort).
- Dictionary. Holds a list of values that are 'key:value' pairs. Keys must be unique, is this is how the list data is queried/altered (i.e. asked for or edited). Currently, key values that are themselves lists are allowed but cannot be accessed via action code. Again sorting the list is of little value as data is accessed via the key for any discrete 'key:value' list value.
‡. Historical note for long-time users. Originally, the Set data type was the only multi-value data type, List and Dictionary coming later on. However, the List data type is best understood as the basic (multi-value) listing type - it records what is entered in the order entered and does not alter it. Sets perform de-duplication (though 'Cat' and 'cat' as still discrete values) and auto-sort their value lists for performance reasons, especially since version 8.