Apa perbedaan antara ECMAScript dan JavaScript? Dari apa yang saya simpulkan, ECMAScript adalah standar dan JavaScript adalah implementasinya. Apakah ini benar?
javascript
ecma262
Orang
sumber
sumber
Saya pikir sedikit pelajaran sejarah adalah karena.
JavaScript awalnya bernama Mocha dan diubah menjadi Livescript tetapi akhirnya menjadi JavaScript.
Penting untuk dicatat bahwa JavaScript ada sebelum ECMAscript dan riwayatnya akan memberi tahu Anda alasannya.
Untuk memulai dari awal, JavaScript mengambil namanya dari Jawa dan awalnya Brendan Eich (pembuat JS) diminta untuk mengembangkan bahasa yang menyerupai Java untuk web untuk Netscape.
Namun, Eich memutuskan bahwa Jawa terlalu rumit dengan semua aturannya dan mulai membuat bahasa yang lebih sederhana yang bahkan dapat dikodekan oleh seorang pemula. Hal ini terbukti dalam hal-hal seperti santai dari kebutuhan untuk memiliki tanda titik koma.
Setelah bahasa selesai, tim pemasaran Netscape meminta Sun untuk mengizinkan mereka menamakannya JavaScript sebagai aksi pemasaran dan karenanya mengapa sebagian besar orang yang belum pernah menggunakan JavaScript berpikir bahwa itu terkait dengan Java.
Sekitar satu atau dua tahun setelah rilis JavaScript di browser, Microsoft IE mengambil bahasa dan mulai membuat implementasi sendiri seperti JScript. Pada saat yang sama, IE mendominasi pasar dan tidak lama setelah Netscape harus menutup proyeknya.
Sebelum Netscape turun, mereka memutuskan untuk memulai standar yang akan memandu jalan JavaScript, bernama ECMAScript.
ECMAScript memiliki beberapa rilis dan pada tahun 1999 mereka merilis versi terakhir mereka (ECMAScript 3) sebelum mereka masuk ke hibernasi selama 10 tahun ke depan. Selama 10 tahun ini, Microsoft mendominasi adegan tetapi pada saat yang sama mereka tidak meningkatkan produk mereka dan karenanya Firefox lahir (dipimpin oleh Eich) dan banyak sekali browser lain seperti Chrome, Opera.
ECMAScript merilis Edisi ke-5 pada tahun 2009 (edisi ke-4 ditinggalkan) dengan fitur-fitur seperti mode ketat. Sejak itu, ECMAScript telah mendapatkan banyak momentum dan dijadwalkan untuk merilis Edisi ke-6 dalam beberapa bulan dari sekarang dengan perubahan terbesar sejauh ini.
Anda dapat menggunakan daftar fitur untuk ECMAScript 6 di sini http://kangax.github.io/es5-compat-table/es6/ dan juga dukungan browser. Anda bahkan dapat mulai menulis Ecmascript 6 seperti yang Anda lakukan dengan CoffeeScript dan menggunakan kompiler untuk dikompilasi ke Ecmascript 5.
Apakah ECMAScript adalah bahasa dan JavaScript adalah dialek dapat diperdebatkan, tetapi tidak penting. Jika Anda terus berpikir seperti ini mungkin membingungkan Anda. Tidak ada kompiler di luar sana yang akan menjalankan ECMAScript, dan saya percaya JavaScript dianggap Bahasa yang mengimplementasikan standar yang disebut ECMAScript.
Ada juga bahasa lain yang terlihat yang mengimplementasikan ECMAScript seperti ActionScript (digunakan untuk Flash)
sumber
ECMAScript = ES:
ECMAScript adalah Standar untuk bahasa scripting.
Bahasa seperti Javascript didasarkan pada standar ECMAScript.
ECMA Standard didasarkan pada beberapa teknologi yang berasal, yang paling terkenal adalah JavaScript (Netscape) dan JScript (Microsoft).
ECMA berarti Asosiasi Produsen Komputer Eropa
JavaScript = JS:
JavaScript adalah implementasi paling populer dari ECMAScript Standard.
Fitur inti Javascript didasarkan pada standar ECMAScript, tetapi Javascript juga memiliki fitur tambahan lainnya yang tidak ada dalam spesifikasi / standar ECMA.
ActionScript dan JScript adalah bahasa lain yang mengimplementasikan ECMAScript.
JavaScript diajukan ke ECMA untuk standardisasi tetapi karena masalah merek dagang dengan nama Javascript standar tersebut disebut ECMAScript.
Setiap browser memiliki penerjemah JavaScript.
ES5 = ECMAScript 5:
ES5 adalah versi dari ECMAScript (lama / saat ini).
ES5 adalah JavaScript yang Anda kenal dan gunakan di browser hari ini.
ES5 tidak memerlukan langkah build (transpiler) untuk mengubahnya menjadi sesuatu yang akan berjalan di browser saat ini.
ECMAScript versi 5 selesai pada Desember 2009, versi terbaru dari semua browser utama (Chrome, Safari, Firefox, dan IE) telah mengimplementasikan versi 5.
Versi 5.1 selesai pada Juni 2011.
ES6 = ECMAScript 6 = ES2015 = ECMAScript 2015:
ES2015 adalah versi dari ECMAScript (baru / yang akan datang).
Secara resmi nama ES2015 harus digunakan sebagai pengganti ES6.
ES6 akan mengatasi banyak kekurangan bahasa inti yang dibahas dalam TypeScript dan CoffeeScript.
ES6 adalah iterasi berikutnya dari JavaScript, tetapi tidak berjalan di browser hari ini.
Ada beberapa transponder yang akan mengekspor ES5 untuk berjalan di browser.
BabelJS:
BabelJS adalah transpiler paling populer yang mengubah JavaScript ES6 baru menjadi JavaScript ES5 lama.
BabelJS memungkinkan untuk menulis generasi JavaScript berikutnya hari ini (artinya ES2015).
BabelJS hanya mengambil file ES2015 dan mengubahnya menjadi file ES5.
Versi browser saat ini sekarang dapat memahami kode JavaScript baru (ES2015), bahkan jika mereka belum mendukungnya.
TypeScript dan CoffeeScript:
Keduanya menyediakan gula sintaksis di atas ES5 dan kemudian ditranskompilasi menjadi JavaScript yang sesuai dengan ES5.
Anda menulis TypeScript atau CoffeeScript kemudian transpiler mengubahnya menjadi JavaScript ES5.
sumber
Spesifikasi Bahasa ECMAScript® mendefinisikan semua logika untuk membuat dan mengedit objek, array, angka, dll ...
DOM ( D ocument O bject M odel) memungkinkan untuk berkomunikasi dengan dokumen HTML / XML (mis
document.getElementById('id');
.).BOM ( B rowser O bject M odel) adalah hierarki objek browser (misalnya objek lokasi, objek sejarah, elemen bentuk).
Sejarah penamaan JavaScript:
sumber
JavaScript = ECMAScript + DOM API;
?JavaScript = ECMAScript + DOM API;
hanya berdasarkan pada keseluruhan persyaratan yang didokumentasikan yang didokumentasikan yang terdiri dari JavaScript.Secara teknis ECMAScript adalah bahasa yang digunakan dan diterapkan oleh semua orang - ini adalah spesifikasi yang dibuat bertahun-tahun yang lalu ketika Netscape dan Microsoft duduk dan berusaha untuk membakukan skrip antara JavaScript (bahasa skrip Netscape) dan JScript (Microsoft).
Selanjutnya semua mesin ini seolah-olah mengimplementasikan ECMAScript, namun JavaScript (namanya) sekarang bertahan karena kedua alasan penamaan tradisional, dan sebagai istilah pemasaran oleh Mozilla untuk berbagai ekstensi non-standar mereka (yang mereka inginkan untuk benar-benar "versi" )
sumber
Apa itu ECMAScript yaitu ES?
Apakah Javascript sama persis dengan ECMAScript?
API DOM seperti:
document.getElementById('id');
Apakah bahasa lain menggunakan standar ECMAScript?
Mengapa disebut ECMAScript?
sumber
Berbagai versi JavaScript adalah implementasi dari standar ECMAScript.
sumber
saya tahu ini posting lama tapi mudah-mudahan ini akan membantu seseorang
Pada tahun 1990-an berbagai versi js mulai keluar seperti javascript dari netscape, skrip Js dari Microsoft. Jadi ecmascript diperkenalkan sebagai standar. Tetapi ecmascript hanya merupakan bagian dari javascript yang menentukan sintaks intinya, jenis, objek dll. Mungkin itu menjelaskan implementasi javascript yang tidak konsisten di seluruh diff. browser
Referensi - Wrox (Javascript Profesional Untuk Pengembang Web)
sumber
Dalam pemahaman saya, ECMAScript adalah "Teori" atau "Spesifikasi", dan Javascript adalah "Praktis" atau "Implementasi".
sumber
JavaScript adalah bahasa skrip ECMAS.
ECMAScript tidak harus JavaScript.
sumber
Jawaban yang ada memparafrasekan poin utama dengan cukup baik.
Poin utama adalah bahwa ECMAScript adalah bahasa abstrak telanjang, tanpa ekstensi spesifik domain apa pun, itu tidak berguna dalam dirinya sendiri. The spesifikasi mendefinisikan hanya bahasa dan inti objek itu.
Sementara JavaScript dan ActionScript dan dialek lainnya menambahkan pustaka khusus domain ke dalamnya, sehingga Anda dapat menggunakannya untuk sesuatu yang bermakna.
Ada banyak mesin ECMAScript , beberapa di antaranya adalah open source, yang lain adalah milik. Anda dapat menautkannya ke program Anda kemudian menambahkan fungsi asli Anda ke objek global sehingga program Anda menjadi skrip. Meskipun paling sering mereka digunakan di browser.
sumber
Javascript adalah nama asli, dimaksudkan untuk memanfaatkan popularitas java. ECMA adalah badan standar yang mengawasi standar yang pada akhirnya diberlakukan sehingga nama-nama tersebut kira-kira setara.
Implementasi memiliki nama lain, seperti V8 atau Badak, dll.
sumber
ECMAScript adalah standar untuk JavaScrip t, lihat pernyataan dari MDN ini :
JavaScript
Naskah ECMAS
Untuk info lebih lanjut, kunjungi di sini
sumber
Inilah temuan saya:
JavaScript: Panduan Definitif , yang ditulis oleh David Flanagan memberikan penjelasan yang sangat ringkas:
Sebuah posting blog oleh Microsoft tampaknya setuju dengan apa yang dijelaskan Flanagan dengan mengatakan ..
.. yang membuat saya berpikir semua kemunculan
JavaScript
dalam pos referensi ini (oleh Microsoft lagi) harus diganti olehECMASCript
. Mereka tampaknya benar-benar berhati-hati denganECMAScript
hanya menggunakan halaman dokumentasi ini , lebih baru dan lebih teknis.w3schools.com tampaknya setuju dengan definisi di atas:
Kuncinya di sini adalah: nama resmi bahasa tersebut .
Jika Anda memeriksa halaman versi JavaScript Mozilla , Anda akan menemukan pernyataan berikut:
dan ketika Anda melihat catatan rilis terbaru, Anda akan selalu melihat referensi ke standar skrip ECMAS, seperti:
Mozilla Web Documents juga memiliki halaman yang menjelaskan perbedaan antara ECMAScript dan JavaScript:
Kesimpulan
Menurut pemahaman saya, orang menggunakan kata JavaScript agak bebas untuk merujuk pada spesifikasi inti ECMAScript.
Saya akan mengatakan, semua implementasi JavaScript modern (atau JavaScript Engine) sebenarnya adalah implementasi ECMAScript. Periksa definisi Mesin V8 dari Google, misalnya:
Mereka tampaknya menggunakan kata JavaScript dan ECMAScript secara bergantian, dan saya akan mengatakan itu sebenarnya mesin ECMAScript?
Jadi sebagian besar Mesin JavaScript sebenarnya menerapkan standar ECMAScript, tetapi alih-alih menyebutnya mesin ECMAScript, mereka menyebut diri mereka Mesin JavaScript. Jawaban ini juga mendukung cara saya melihat situasi.
sumber
Saya ragu kita akan pernah menggunakan kata "ECMAScript" jika bukan karena fakta bahwa nama "JavaScript" dimiliki oleh Sun. Untuk semua maksud dan tujuan, bahasanya adalah JavaScript. Anda tidak pergi ke toko buku untuk mencari buku naskah ECMAS, bukan?
Agak terlalu sederhana untuk mengatakan bahwa "JavaScript" adalah implementasinya. JScript adalah implementasi Microsoft.
sumber
JavaScript adalah salah satu cabang bahasa yang dibentuk berdasarkan standar ECMAScript. Saya percaya ECMA adalah Asosiasi Produsen Komputer Eropa, bukan ini benar-benar relevan atau apa pun.
Jangan lupa bahasa populer lain yang terbentuk di sekitar standar ECMA Script adalah ActionScript, yang digunakan dalam Adobe Flash / Flex.
sumber