Class
Every value is of some fixed and definite type
. I usually refer to this as its datatype
, but the AppleScript term for speaking of a value's type is class
. You can use the term class to inquire of any value what its datatype is:
class of 7 -- integer class of "howdy" -- string class of {"Mannie"} -- list class of class of 1975 --class
As the last line shows, even something's class is a value and therefore has to have a class, namely class.
Tip
Strictly speaking, the datatype of terms like integer and class is not really class but rather type class
. It's as if every value has an attribute called class whose value is itself a type class. However, AppleScript will never tell you that the class of anything is type class. You may see a class referred to as type, though, in a dictionary or error message:
2 as boolean -- error: Can't make 2 into type booleanYou can assign a value of any class to any variable, but at a given moment a variable has only one value and that value has only one class (so it is customary to speak of a variable's class, meaning the class of the value it has at that moment).
It is the class of something that determines what messages can be sent to it and what attributes it has. For example, a list has a length because it is a list. I am guaranteed that I can ask any list for its length and get back a meaningful answer. I am also guaranteed that I can send the count message to any list and get back a meaningful response (the same as its length, actually). ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access