Here some tutorials I wrote, if you find any errors or have any suggestion. You can contact me here
Modern JavaScript with ES6
Speed talk about ES6
Git
Git explained with beginer and advanced tutorial.
EMACS
Discovering Coding IDE EMACS
Projects
Here I describe some project I worked on.
X3DOM Plugins API
A plugins API for the X3DOM library
driversiti
Data Analytics website of Driversiti
Introduction
Intérêt de l'ES6
L'ECMAScript 6: dernière grosse mise a jour du JS
ES6 approuvé en juin 2015
Déjà implémenté en majeure partie dans Chrome / Firefox
Très gros changements
Beaucoup de nouvelles features
Objectif
Éviter de dépendre de Framework (jquery) / autre langage (coffeeScipt)
Prototypage → orienté objet
Futures release plus petites mais plus régulière
Nouveautés de l'ES6
Classe (ES5)
var Rectangle =function (id, x, y, width, height) {Shape.call(this, id, x, y);
…
};Rectangle.prototype.toString=function () {return"Rect "+Shape.prototype.toString.call(this);};
Classe (ES6)
class Rectangle extends Shape {constructor (id, x, y, width, height) {super(id, x, y)
…
}toString () {return"Rectangle > "+super.toString()
}}
Arrow function
// ES5var self =this;this.nums.forEach(function (v) {if (v %5===0) self.fives.push(v);});// ES6
odds =evens.map(v => v +1)
this.nums.forEach((v) =>{if (v %5===0) this.fives.push(v);});
let vs var
let fonctionne comme var mais reste défini que localement dans chaque bloc.
let a, b, n;
…
for (let i =0; i < n; i++) {let x = a[i]
…
}for (let i =0; i < n; i++) {let y = b[i]
…
}// "i", "y", "x" n'existent pas ici
Import export
Permet d'éviter de travailler avec des variables globales.
// lib/math.jsvar pi =3.141593exportfunctionsum (x, y) {return x + y }export pi
// someApp.jsimport*as math from"lib/math"console.log("2pi = "+math.sum(math.pi,math.pi))
// otherApp.jsimport{ sum, pi }from"lib/math"console.log("2pi = "+sum(pi, pi))
For of
// Itération sur les valeursfor (let n of [1,2,3,4,5]) {if (n >1000) breakconsole.log(n)
}// Itération sur les indiceslet a = [1,3,4], b = [3,4,5];for (let i in a) {console.log(a[i]+b[i])
}