JScript

***JScript*** adalah implementasi yang dilakukan oleh Microsoft terhadap spesifikasi bahasa pemrograman skrip ECMAScript. Bahasa ini didukung oleh Microsoft Internet Explorer, Microsoft Internet Information Services (IIS) dan Microsoft Windows Scripting Host (WSH). Bahasa ini sangatlah mirip dengan bahasa JavaScript (implementasi Netscape/Mozilla terhadap spesifikasi European Computer Manufacturer Association/ECMA), dan ECMAScript. Pada kenyataannya, nama JavaScript kadang-kadang digunakan untuk merujuk kepada ECMAScript atau bahkan JScript.

JScript diimplementasikan sebagai sebuah engine di dalam Windows Script. Hal ini berarti bahwa JScript dapat digunakan oleh semua aplikasi apapun yang mendukung Windows Script, seperti Internet Explorer, Active Server Pages (ASP), dan Windows Scripting Host. Ini juga berarti bahwa setiap aplikasi yang mendukung Windows Script dapat mendukung beberapa bahasa secara sekaligus, JScript, VBScript, Perl, dan lain-lain. JScript pertama kali didukung di dalam Internet Explorer versi 3.0 yang dirilis pada bulan Agustus 1996. Seperti halnya mesin Active Scripting lainnya, JScript dapat diperoleh dari Internet Explorer, Windows Scripting Host, dan Active Server Pages. Ekstensi berkas kode sumber JScript adalah `*.js`.

Versi terbaru dari JScript adalah JScript .NET, yang dibuat berdasarkan edisi keempat dari standar ECMAScript, dan dapat dikompilasi dengan menggunakan platform Microsoft .NET Framework. JScript .NET menambahkan beberapa fitur baru terhadap ECMAScript edisi ketiga, seperti halnya anotasi tipe statis opsional.
## Versi
### JScript
JScript yang asli adalah sebuah mesin *[[Active Scripting]]*. Seperti halnya bahasa *Active Scripting* lainnya, JScript dibangun di atas platform COM/OLE Automation dan menyediakan kemampuan *scripting* bagi beberapa aplikasi yang berjalan di atasnya. JScript ini merupakan versi yang digunakan ketika menampilkan halaman web di dalam Microsoft Internet Explorer, di dalam aplikasi HTML/Dynamic HTML, dalam Active Server Pages, Windows Scripting Host, dan beberapa lingkungan otomatisasi lainnya. JScript versi ini kadang-kadang disebut juga sebagai "*classic JScript*" atau "*Active Scripting JScript*", untuk membedakannya dengan versi yang berbasis platform .NET.

JScript yang asli merupakan implementasi dari spesifikasi ECMA-262. Selain yang dimiliki oleh spesifikasi ECMA-262, JScript juga mengimplementasikan beberapa hal tambahan yang baru.



JScript juga terdapat di dalam platform Windows CE (Windows Mobile telah memilikinya secara baku akan tetapi pada Windows Embedded CE memilikinya sebagai sebuah fitur opsional). Sayangnya, versi Windows CE ini memiliki kekurangan pada Active Debugging.
### Managed JScript
Managed JScript adalah sebuah implementasi JScript untuk platform Dynamic Language Runtime (DLR), yang merupakan bagian dari beberapa bahasa dinamis untuk .NET bersamaan dengan IronRuby, IronPython, dan Dynamic Visual Basic. Tidak seperti JScript .NET yang kurang dinamis dibandingkan dengan JScript yang asli (meski memiliki kompatibilitas terhadap Common Language Specification (CLS)), Managed JScript didesain di atas DLR dan menyediakan fitur-fitur yang dibutuhkan untuk beberapa skenario skripting. Rencananya, Managed JScript ini akan dijadikan sebuah bagian dari Microsoft Silverlight 1.1 dan versi selanjutnya dari ASP.NET.
### JScript .NET
JScript .NET merupakan implementasi JScript dalam Microsoft .NET Framework. Bahasa ini mendukung *[[Common Language Specification]]* (CLS) dan secara otomatis membawa semua keunggulan yang ditawarkan oleh CLS, tetapi tidak memiliki beberapa fitur yang dimiliki oleh bahasa JScript yang asli, sehingga membuatnya kurang cocok digunakan untuk beberapa skenario skripting.

JScript .NET dapat digunakan untuk halaman-halaman ASP.NET dan aplikasi .NET yang komplet, tetapi kekurangan dukungan pada Microsoft Visual Studio hanya menjadikannya sebagai jalur *upgrade* untuk ASP dengan menggunakan JScript klasik ketimbang bahasa yang baru.



JScript .NET tidak didukung di dalam .NET Compact Framework.

Catatan: Versi-versi JScript .NET tidak berhubungan sama sekali dengan versi-versi JScript klasik. JScript dan JScript .NET merupakan dua produk yang benar-benar berbeda. Meskipun JScript .NET juga tidak didukung oleh *[[Integrated Development Environment]]* (IDE) Microsoft Visual Studio, versinya memiliki korelasi dengan versi-versi bahasa .NET lainnya (C#, Visual Basic .NET, dan Visual C++) yang dibawa oleh versi Visual Studio tersebut.
## Perbedaan dengan JavaScript
Selain pada perbedaan implementasi internal, JScript menggunakan metode *[[pengumpulan sampah (ilmu komputer)|garbage collection]]* *mark-and-sweep* secara *non-generational*, tetapi JavaScript menggunakan metode *garbage collection* *mark-and-sweep* secara *generational*.

## Pranala luar
* Dokumentasi JScript klasik di dalam MSDN Library
* [Dokumentasi JScript .NET di dalam MSDN Library](http://msdn2.microsoft.com/en-us/library/72bd815a(vs.71).aspx)
* Blog mengenai JScript
* Spesifikasi ECMA-262