The core – ECMAScript
The usage of this core is not now days targeted only for browsers. It is also used for instance in node.js, the non-browser environment.
And what is covered by the ECMAScript scope? I will list some instances bellow.
- Language syntax (parsing rules, keywords etc.)
- Error handling mechanisms (throw, try/catch, ability to create user-defined Error types)
- Types (boolean, number, string, function, object…)
- A prototype-based inheritance mechanism
- Built-in objects and functions (
Array.prototypemethods, Object introspection methods…)
- The global object. In a browser, this global object is the window object, but ECMAScript only defines the APIs not specific to browsers, e.g.
- Strict mode
The updated browsers should now support the most things from ES6 and 2016+. New ECMAScript Editions are published on a yearly basis. The best way how to find out particular information about support is to visit this page. The ES5 is considered as stable and supported by almost every browser, so if you want to stay in a safe zone, but use features of ES6, you can use workarounds like babel compiler etc.
The core of the DOM
So remember that the DOM is a hierarchical structure, which allows you to traverse the tree (for instance the one shown on picture below) and manipulate (CRUD) the particular elements.
Other notable APIs
- XMLHttpRequest makes it possible to send asynchronous HTTP requests.
- The CSS Object Model abstract CSS rules as objects.
- WebWorkers allows parallel computation.
- WebSockets allows low-level bidirectional communication.
- Canvas 2D Context is a drawing API for
This article was based on information gained from MDN and sometimes uses it’s statements. Visit this site for further information. I highly recommend you to study technologies on MDN, because it is really well structured site with correct information from the best ones among us.