Nous invitons les futurs étudiants du cours "Javascript Developer. Basic" à visiter la journée de démonstration , au cours de laquelle vous pourrez en savoir plus sur le processus d'apprentissage et le programme du cours, ainsi que poser des questions à nos experts .
En attendant, nous avons préparé une traduction traditionnelle d'un article intéressant.
Vous avez peut-être remarqué que les systèmes de construction utilisent les spécifications ECMAScript 3, puis ECMAScript 5, et ainsi de suite. ECMAScript 4 n'est jamais utilisé. Pourquoi?
J'ai pensé qu'il serait intéressant d'étudier l'histoire d'ECMAScript 4 et de découvrir ce qui nous manquait.
Histoire courte
Selon Wikipedia , la première version d'ECMAScript 4 est apparue en février 1999. La spécification devait être achevée en août 2008.
ECMAScript 4 était un développement prometteur, avec de nombreuses nouvelles fonctionnalités qui manquaient cruellement dans ECMAScript 3. Dans la quatrième édition, certaines lacunes d'ECMAScript 3 ont été corrigées, et donc ES4 était incompatible avec les versions précédentes.
ES4 , , ES4 .
2008 ES4 , ES3.1 ES5. , ECMAScript.
, ES4 ActionScript 3 Flash-. AS3 , Flash .
?
- ES6, , .
class C {
var val
var number = 500;
const pi = 3.14
// A function
function f(n) { return n+val*2 }
// Getters and setters
function set foo(n) {
val = n;
}
function get foo() {
return val;
}
}, this. , ES4 , .
ES4 :
staticfinalprivate,protected,public.prototype— . , , , , - .
ES4 . , Typescript.
interface MyInterface {
function foo();
}ES4 .
function add(a: int, b:int): int {
return a + b;
} type, Typescript. Typescript :
let a : number | string;ES4 :
var a: (number, string)ES4 :
class Wrapper<T> {
inner: T
}Like
ES4 , . like .
function getCell(coords: like { x: int, y: int }) {
}, ES4 , , , Typescript.
ES boolean, object, array, number, BigInt. ES4 :
byteintunitdoubledecimal
ES decimal, , , :
const allowance = 1.50mES4 m, (money).
Hello my name is "Evert" ES4 :
const hi = """Hello my name is "Evert"""";. , , ES6, .
:
package com.evertpot {
// Private
internal const foo = 5;
class MyClass {
}
}:
const myObj = com.evertpot.MyClass;:
import * from com.evertpot;
const myObj = MyClass;, .
(generic)
. « » Typescript, .
class Foo {
generic function addItem(x);
function addItem(x: int) {
}
function addItem(x: number) {
}
} addItem — int number. .
E4X
E4X — ES4, .
E4X ECMAScript XML. , , :
const myClass = 'welcome';
const name = 'Evert';
const foo = <div class={myClass}>{"Hello " + name }</div>;?
, , JSX, , JSX.
ES4 , E4X Firefox .
let const. ES5 (const) .(
yield)..
, ( XML), .
?
ECMAScript 4 , , ES4:
<script type="text/javascript;version=4" src="..."></script>:
<script type="module" src="..."></script>, , JavaScript. ECMAScript: , Typescript JSX, — ECMAScript, 2007 .
, ES4 , Babel, Webpack Typescript.