The result will be a sea of definitions that will not be read for the first time because of their ambiguity and non-uniformity.
“ECMAScript is a standard.”
“ECMAScript is a specification.”
“ECMAScript is a language.”
Object of the article
Okay, let’s get started! 👌👌
An organization that creates standards (standards) for technologies.
What is the standard? To understand this concept, think about the keyboard that you often use on your phone, laptop or PC. Although these types of keyboards vary from manufacturer to manufacturer, they still share a layout (the position of the letter keys, number keys, function keys, Enter are all on the same positions). That’s because keyboard manufacturers are following QWERTY layout standard .
Thus the standard can be interpreted as a text published by a reputable organization in a community and requires all related products to be born and then follow the rules of the this material.
This is a standard published by ECMA International, which contains specifications or regulations for scripting languages in general.
But why is the number 262?
Assuming you are in a fairly large organization, this organization writes a lot of standards for technology in general, every time an organization needs to write down a document, it creates a schedule, in that schedule each The task is organized to give it a code as an ID to distinguish, this case ECMA-262 is the ECMAScript document creation task code
A type of language designed to reuse already defined "entities or systems" from scratch.
This is like this, when you have a library already available functions such as “walk”, “run”, “jump”, these functions have the function of moving an object or moving a character in the game. However, these functions cannot be executed if there is no place to call them. At that time, the set of scripts invoking these functions is called scripting-language, which is a language that focuses on reusing libraries already in the system .
Equivalent keyword: ECMAScript specification
This specification defined in the
aims to create standards for Script languages in general, which
provides a set of rules, specifications, and guidelines that force
scripting languages to monitor and weigh. The prompt during the
process is deployed if the authors of these languages want to be
recognized as compliant with the ECMAScript standard.
This is a Script language that has been implemented based on the instructions in the ECMAScript documentation.
language is considered “dialect” of another language when it inherits
most of its predecessor’s declarations and syntax but still has a few
features enough to make it different. distinct from other languages.
It is similar to the difference between people who speak and understand the same language (some people may know some new words, some expressions and some rules that others do not know and vice versa). ), so are browsers.
browser support, people often talk about ECMAScript compatibility,
This paragraph may not sound very relevant, but there is a reasonable explanation for this:
ECMAScript is a specification that contains a series of requirements that require the publisher of the Script language to follow.
- With the client side:
- Host objects: window, document, objects contain in them methods to control logic to display components in the browser
- On the server side:
- Host objects: system, processs, requests files in Node.js
Similar keywords: ES6, ECMAScript 2015
This is the 6th version of the ECMA-262 standard with major changes and an improvement of the ECMAScript specification text. The ECMAScript version changes from ES6 to ES2015 because in 2015, ECMA International decided to publish this document annually. Accordingly, the ECMAScript specification is based on the year in which they are published.
Transpiler (transforming + compiler) is a way to call tools that convert code from version A to version B for each language.
Babel is a transpiler that converts ES6 code to ES5 code.
Babel is for developers who want to bring the latest ES6 features to their apps but still need to run these features on most browsers. Babel will help developers convert ES6 code to ES5, because ES5 version has been supported on almost all browsers.
Before posting, I want to share a little more information for young developers who don’t have much experience like me:
Chicken or egg story