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 :
static
final
private,
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 :
byte
int
unit
double
decimal
ES decimal
, , , :
const allowance = 1.50m
ES4 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.