Chapter 16. Global Properties

AppleScript's global properties are essentially predefined variables; they are named values that exist automatically, without your code having to define them. Your code can access them because they are in scope in every script, thanks to the inheritance mechanism (see "Inheritance" in Chapter 8). Your script as a whole is a script object whose parent, by default, is another script object called AppleScript, which represents the AppleScript scripting component instance. These predefined variables are properties of the AppleScript script object. Thus the inheritance mechanism makes them global; no matter where you are when you access one of them, it is sought as a top-level entity up the parent chain until the AppleScript script object is reached. Even if the name of a global property is overshadowed in some scope of your script, it can still be accessed through the name AppleScript. For example:

property pi : 3
AppleScript's pi -- 3.14159265359

The global properties are like any other script properties, and as such:

  • They are settable.

  • Their values are shared by all scripts running under this instance of the AppleScript scripting component.

  • They persist along with this instance of the AppleScript scripting component.

The status of the global script properties is thus somewhat counterintuitive. You might have thought values such as pi and tab would remain constant. That's not the case. You can change the value of one of them, and then this script and any ...

Get AppleScript: The Definitive Guide, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.