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).