Jump to content

JavaScript OSA

From Wikipedia, the free encyclopedia

JavaScript OSA, (originally JavaScript for OSA, abbreviated as JSOSA), is a freeware inter-process communication scripting language for the Macintosh computer.

JavaScript OSA uses the "core language" of the Mozilla implementation of the JavaScript programming language, (see SpiderMonkey). The language is used as an alternative to the AppleScript language. Its use is unrelated to web browser-based scripting. It can be seen as having a similar function to Microsoft's JScript .NET language on Windows machines, although there is no interoperability between the two languages' system-level scripting.


The language is identical to Mozilla's core language, with extensions added via a "Core" object and a "MacOS" object. The MacOS object has methods for obtaining objects that are bound to applications. This is done via the AppleEvent messaging system, a part of the Macintosh's Open Scripting Architecture.

The language was first released in 2001, and was bundled with Late Night Software's flagship product, Script Debugger. In May 2005, a new "alpha" version of the language was made available for testing. This improved second version of the language was bundled with version 4 of Script Debugger. JavaScript OSA was eventually discontinued due to lack of interest[1] and was dropped from Script Debugger 5 in 2012.[2]


OS X Yosemite introduced JavaScript for Automation (JXA): system-wide support for scripting with JavaScript, built upon JavaScriptCore and the Open Scripting Architecture.[3] It features an Objective-C bridge which enables entire Cocoa applications to be programmed in JavaScript.[4]


  1. ^ "Yosemite JavaScript for Automation Support". Late Night Software. Retrieved March 22, 2015.
  2. ^ "What's New in Script Debugger 5.0". Late Night Software. Retrieved March 22, 2015.
  3. ^ "JavaScript for Automation". MacStories. Retrieved August 31, 2014.
  4. ^ "JavaScript for Automation Release Notes". Apple, Inc. Retrieved August 31, 2014.

External links[edit]