นี่คือมุมมองที่แตกต่างกันในหัวข้อนี้ ไม่มากก็น้อยจากประสบการณ์ไม่สามารถอ้างอะไรได้ โปรแกรมตรวจสอบ JavaScript และทุกคนที่ทำงานกับ JavaScript จะบอกคุณว่า
alert("hello World");
เป็น JavaScript ที่ถูกต้อง และฉันก็เห็นด้วย
อย่างไรก็ตามโปรแกรมตรวจสอบ ECMAScript อาจบอกคุณว่าไม่ถูกต้องเนื่องจาก alert () ไม่ได้เป็นส่วนหนึ่งของ ECMAScript แต่เป็นคุณลักษณะโดยทั่วไปของ JavaScript สำหรับเบราว์เซอร์ มีคุณสมบัติมากมายของ JavaScript ซึ่งเหมาะสมกับสภาพแวดล้อมเบราว์เซอร์เท่านั้น, fi window.navigator, window.document, WebSocket, navigator.geolocation บางคนอาจบอกว่านี่ไม่ใช่ส่วนหนึ่งของ JavaScript แต่เป็นส่วนหนึ่งของ HTML5 ซึ่งไม่เป็นความจริงเนื่องจาก HTML5 เป็นเพียงภาษามาร์กอัป อย่างไรก็ตามคุณลักษณะใหม่ที่น่าสนใจเหล่านี้มักเรียกว่า HTML5 แม้ว่าจะมีการใช้งานใน JavaScript ก็ตาม
JavaScript ยังสามารถใช้สำหรับการเขียนสคริปต์ฝั่งเซิร์ฟเวอร์ จากนั้น geolcation หรือ apis สื่อทั้งหมดก็ไม่สมเหตุสมผล ดังนั้น JavaScript สำหรับการเขียนสคริปต์ฝั่งเซิร์ฟเวอร์จึงใกล้เคียงกับ ECMAScript มากขึ้นอีกครั้งซึ่งไม่มีคุณลักษณะของเบราว์เซอร์ทั่วไปนี้
ฉันไม่สามารถหาคำตอบได้ว่าวัตถุคณิตศาสตร์ (เช่น Math.sqrt (9)) เป็นส่วนหนึ่งของ ECAMScript หรือไม่หรือว่า ECMAScript เป็นเพียงการกำหนดไวยากรณ์ของภาษาและไม่มีการสร้างฟังก์ชันใด ๆ แต่ตัวตรวจสอบ ECMAScript หนึ่งตัวยอมรับ Math.sqrt (9) เป็น ECMAScript ที่ถูกต้องในขณะที่ var test = window.document; การตรวจสอบ ECMA ล้มเหลว
แม้ว่าสิ่งต่อไปนี้จะเชื่อมโยงไปยังเอกสาร JavaScript แต่ในความคิดของฉันก็คือ build ในชุดคุณลักษณะ (วัตถุและฟังก์ชัน) ของ ECMAScript: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference / Global_Objects
ดังนั้นในความคิดของฉัน JavaScript มีความเชื่อมโยงอย่างใกล้ชิดกับเบราว์เซอร์ในขณะที่ ECMAScript มีเพียงชุดฟังก์ชันพื้นฐานเท่านั้น (ถ้ามี)