Apa itu ECMAScript?

118

Dalam Visual Studio ketika saya mengatur jenis skrip saya ke JavaScript, ini muncul sebagai opsi di intellisense.

Pencarian Google cepat muncul dengan hasil yang payah, membuat saya percaya ini tidak terlalu populer untuk digunakan.

  • Apa itu?
  • Apakah ada yang menggunakannya? (<script type="text/ecmascript">)
  • Mengapa?
Jason
sumber
Mengetahui perbedaan antara ECMAScript dan Javascript juga membantu memahami ECMAScript.
NSP

Jawaban:

169

JavaScript adalah bagian dari ECMAScript. JavaScript pada dasarnya adalah ECMAScript pada intinya, tetapi dibangun di atasnya. Bahasa seperti ActionScript, JavaScript, JScript semuanya menggunakan ECMAScript sebagai intinya. Sebagai perbandingan, AS / JS / JScript adalah 3 mobil yang berbeda, tetapi semuanya menggunakan mesin yang sama ... masing-masing eksteriornya berbeda, dan ada beberapa modifikasi yang dilakukan untuk membuatnya unik.

Sejarahnya adalah, Brendan Eich membuat Mocha yang menjadi LiveScript, dan kemudian JavaScript. Netscape mempresentasikan JavaScript ke Ecma International , yang mengembangkan standar dan diubah namanya menjadi ECMA-262 alias ECMAScript.

Penting untuk diperhatikan bahwa "JavaScript" Brendan Eich bukanlah JavaScript yang sama yang merupakan dialek ECMAScript. Dia membangun bahasa inti yang diubah namanya menjadi ECMAScript, yang berbeda dari JavaScript yang diterapkan oleh vendor browser saat ini.

http://en.wikipedia.org/wiki/ECMAScript

meder omuraliev
sumber
33
Bukankah itu membuat Javascript menjadi bagian dari ECMAScript, jika ECMAScript adalah intinya?
Ryan Amos
15
JavaScript (secara historis) memiliki hal-hal yang tidak dimiliki ECMAScript. JavaScript (secara historis mencoba) memiliki semua yang dimiliki ECMAScript. Oleh karena itu postingannya benar, ECMAScript adalah bagian dari JavaScript. Namun, keduanya disimpan cukup dekat satu sama lain (sementara ActionScript tidak lagi benar-benar dianggap sebagai bahasa ECMAScript, ia telah sangat menyimpang, meskipun ia memiliki akarnya di dalamnya). Istilah ES dan JS hampir bisa saling menggantikan.
Nathan Wall
22
Menurut saya tidak tepat untuk mengatakan bahwa "ECMAScript adalah bagian dari JavaScript." Sebaliknya, artikel Wikipedia yang Anda kutip menunjukkan bahwa ECMAScript adalah standar dan JavaScript adalah implementasi yang terkenal dari standar tersebut (dengan ekstensi) .
DavidRR
2
Saya pikir Anda bermaksud mengatakanECMAScript is a superset of Javascript
Callat
6
Karena Javascript mengimplementasikan ECMAScript dan juga dibangun di atasnya, menurut saya Javascript adalah superset dari ECMAScript.
RayLoveless
76

ECMAScript adalah standar . JavaScript dan ActionScript adalah implementasi terkenal dari standar ECMAScript.

http://en.wikipedia.org/wiki/ECMAScript

Daniel A. White
sumber
32

ECMAScript = ES:

  • ECMAScript adalah Standar untuk bahasa scripting.

  • Bahasa seperti Javascript didasarkan pada standar ECMAScript.

  • Standar ECMA didasarkan pada beberapa teknologi awal, yang paling terkenal adalah JavaScript (Netscape) dan JScript (Microsoft).

  • ECMA berarti Asosiasi Produsen Komputer Eropa


Di sisi lain:


JavaScript = JS:

  • JavaScript adalah implementasi paling populer dari Standar ECMAScript.

  • Fitur inti Javascript didasarkan pada standar ECMAScript, namun Javascript juga memiliki fitur tambahan lain yang tidak ada dalam spesifikasi / standar ECMA.

  • ActionScript dan JScript adalah bahasa lain yang mengimplementasikan ECMAScript.

  • JavaScript telah dikirimkan ke ECMA untuk standarisasi tetapi karena masalah merek dagang dengan nama Javascript standar menjadi disebut ECMAScript.

  • Setiap browser memiliki penerjemah JavaScript.


Untuk detail lebih lanjut tentang checkout ini, jawaban lengkap saya di sini Apa perbedaan antara JavaScript dan ECMAScript?

Mahmoud Zalt
sumber
hampir setiap browser memiliki dukungan JavaScript, tetapi ada banyak browser CLI seperti link dan lynx yang tidak mendukungnya, selain itu ada: links2, w3m, elinks dan edbrowse. Mayoritas browser CLI tidak mendukung JS juga.
Cassio Seffrin
16

ECMA adalah singkatan dari - European Computer Manufacturer's Association. ECMAScript adalah standar untuk bahasa scripting. Ini menentukan fitur inti yang harus disediakan oleh bahasa skrip dan bagaimana fitur tersebut harus diimplementasikan. Javascript awalnya dibuat di Netscape, dan mereka ingin menstandarkan bahasanya. Jadi, mereka menyerahkan bahasa tersebut ke European Computer Manufacturer's Association (ECMA) untuk standarisasi. Namun, ada masalah merek dagang dengan nama Javascript, dan standar tersebut disebut ECMAScript, yang juga digunakan saat ini.

Jadi, Anda dapat menggunakan bahasa skrip apa pun yang menerapkan standar ECMA karena browser web mendukung interpretasi ECMAScript saat Anda menentukan ( <script type="text/ecmascript">).

Krishna
sumber
2

ECMA adalah orgranisasi yang standarisasi JavaScript. Mereka menamakan bahasa tersebut ECMAScript, namun "JavaScript" adalah istilah yang memenangkan "persaingan nama"

kategori
sumber
1

Berikut adalah pandangan berbeda tentang topik ini. Ini kurang lebih dari pengalaman, saya tidak bisa mengutip apa pun. Validator JavaScript dan semua orang yang bekerja dengan JavaScript akan memberi tahu Anda hal itu

alert("hello World");

adalah JavaScript yang valid. Dan saya juga setuju.

Namun, validator ECMAScript mungkin akan memberi tahu Anda bahwa itu tidak valid, karena alert () bukan bagian dari ECMAScript, tetapi biasanya fitur JavaScript untuk Browser. Ada banyak fitur JavaScript, yang hanya masuk akal di lingkungan browser, fi window.navigator, window.document, WebSocket, navigator.geolocation. Beberapa bahkan akan berkata, ini bukan bagian dari JavaScript, tetapi bagian dari HTML5, yang tidak benar, karena HTML5 hanyalah bahasa markup. Namun, fitur baru yang mewah ini sering disebut HTML5, meskipun diterapkan dalam JavaScript.

JavaScript juga dapat digunakan untuk skrip sisi server. Maka semua geolcation atau media apis tidak masuk akal. Jadi JavaScript untuk skrip sisi server lebih mirip dengan ECMAScript lagi, yang tidak memiliki fitur browser tipikal ini.

Saya tidak dapat benar-benar mengetahui, apakah objek Matematika (misalnya Math.sqrt (9)) adalah bagian dari ECAMScript, atau apakah ECMAScript benar-benar hanya mendefinisikan sintaks bahasa dan tidak memiliki fungsionalitas bawaan sama sekali. Tetapi satu validator ECMAScript menerima Math.sqrt (9) sebagai ECMAScript yang valid, sedangkan var test = window.document; gagal dalam validasi ECMA.

Meskipun tautan berikut ini menautkannya ke dokumentasi JavaScript, ini menurut saya adalah kumpulan fitur bawaan (objek dan fungsi) dari ECMAScript: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference / Global_Objects

Jadi menurut saya JavaScript sangat terkait erat dengan browser, sedangkan ECMAScript sebenarnya hanya memiliki serangkaian fungsionalitas yang sangat dasar (jika ada).

haferblues
sumber