SlideShare une entreprise Scribd logo
AMD / COMMONJS / ECMA
SCRIPT 6
J A V A S C R I P T
Belgacem Ben ltaif
@GASSTON Développeur javascript / php / ruby 
CTO PowerFul Consulting
Consultant technique en digital 
Activiste en logicel libre "opensource"
Entrepreneur
http://gasston-labs.fr
https://github.com/gasston 
 
AVANTAGE DU
JAVASCRIPT
MODULAIRE
•Autonome
• Évitez la pollution de la portée global (la
portée global n'est pas mauvaise!)
• Tenir le projet organisé
• Améliorer la réutilisabilité du code
• API hautement vérifiable et bien définie
AMD COMMON JS
L E S S O L U T I O N S ?
define({
           age: "16",
           taille: "150"
 });
Objet de retour simple en tant que collection
de paires nom / valeur.
AMD
define(function () {
     // Do setup work here
     return {
          color: "black",
           size: "unisize"
       }
    });
Objet de retour avec la mise en œuvre
""privacy"".
AMD
define(["./notes", "./eleve"],                
function(notes, eleve) {
     var code = "675";
     var getNote = function(){
       return eleve.getNote(code);
};
Retourner l'objet avec l'implémentation et les
dépendances ."
AMD
import eleve from collections;
eleve.getNumber();
Fichier simple qui "importe" les fonctionnalités
COMMONJS
var rest, mime, eleve;
rest = require('rest');
mime = require('rest/interceptor/mime');
Fichier simple et simple qui "exporte" les fonctionnalités à
l'aide de la variable "module"
(Eleve.js)"
COMMO
NJS
ECMA6 MODULES
export, functions and variables
• export function area(radius) {
return Math.PI * radius * radius;
        }
export PI = Math.PI;
• import, modules
ADVANTAGES
Syntaxe compacte et synchrone
• Chargement asynchrone
• Inclusion du module conditionnel
• Promouvoir la modularisation du
code
• Développement de style API
OBJECT.ASSING
var worker = {};
var isAdult = {
   age: '15',
    getAge: function() {
   console.log(`isAdult $this.age`); 
   }};
Copier le comportement d'un objet vers un autre objet
sans utiliser l'héritage des classes ou de prototypes.
ECMA6
OBJECT.IS
Object.is("foo", "foo"); // true
Object.is(window, window); // true
Object.is("foo", "bar"); // false
Object.is([], []); // false
var test = {a: 1};
Object.is(test, test); // true
Méthode d'objet pour déterminer si deux valeurs ont la
même valeur comme l'opérateur strict de l'égalité.
ECMA6
LES PROMESSES SONT LA FAÇON UNIQUE D'ORGANISER
L'AVENIR, CE QUI REND PRÉVISIBLE ET FIABLE DANS LA
MESURE OÙ CELA EST HUMAINEMENT POSSIBLE.
"HANNAH ARENDT"
PROMISES
 • Une promesse est une valeur
asynchrone
• L'objet Promise est utilisé pour les
calcules  différés et asynchrones
• Une promesse est un espace réservé
pour une future valeur possible
ECMA6
PROMISES
 • Une promesse est une valeur
asynchrone
• L'objet Promise est utilisé pour les
calcules  différés et asynchrones
• Une promesse est un espace réservé
pour une future valeur possible
ECMA6
UTILISER UNE PROMISE
var promise =
Promise.resolve($.ajax('/whatever.json'));
promise.then(function(result) {
console.log(result); // "Stuff worked!"
}, function(err) {
console.log(err); // Error: "It broke"
});
ECMA6
Une promesse peut être utilisée en invoquant
la méthode then (), elle accepte une
Le succès et un gestionnaire d'échec comme
arguments.
UTILISER UNE PROMISE
var promise =
Promise.resolve($.ajax('/whatever.json'));
promise.then(function(result) {
console.log(result); // "Stuff worked!"
}, function(err) {
console.log(err); // Error: "It broke"
});
ECMA6
Une promesse peut être utilisée en invoquant
la méthode then (), elle accepte une
Le succès et un gestionnaire d'échec comme
arguments.
MERCI !!
@ G A S S T O N
B E L G A C E M B E N L T A I F

Contenu connexe

PDF
Javascript demystified
PDF
Meetup#1 talk#1
PPT
CocoaHeads Toulouse - Xcode et les tests - Epitez
PPTX
Lambda expression unit 1
ODP
Patterns et bonnes pratiques autour de JavaScript
PDF
Function oop - bonnes pratiques ms tech days
PPTX
Future of java script web version
PPTX
Nouveautés JavaScript dans le monde Microsoft
Javascript demystified
Meetup#1 talk#1
CocoaHeads Toulouse - Xcode et les tests - Epitez
Lambda expression unit 1
Patterns et bonnes pratiques autour de JavaScript
Function oop - bonnes pratiques ms tech days
Future of java script web version
Nouveautés JavaScript dans le monde Microsoft

Similaire à AMD/CommonJs/EcmaScript (20)

PPTX
Présentation Javascript à l'ESI (Alger)
PPT
Présentation Groovy
PPT
Présentation Groovy
PDF
Node.js, le pavé dans la mare
PDF
Introduction à Groovy - OpenSource eXchange 2008
PDF
Notions de base de JavaScript
ODP
Patterns and OOP in PHP
PDF
La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !
PPTX
Développer sereinement avec Node.js
PDF
Introduction au langage Go
PPTX
Les tests comportementaux avec aspnet core
PDF
De legacy à symfony
PPT
Design poo togo_jug_final
PPT
Design poo togo_jug_final
PPTX
javascript cours developpement nbhdjcbhdcjbn
PPTX
Javascript - Fonctions : que fait ce code ?
PPTX
Test unitaires - refactoring - clean code
PPTX
Introduction à JavaScript
PPTX
Créer des applications Java avec MongoDB
PPT
Dynamic Languages
Présentation Javascript à l'ESI (Alger)
Présentation Groovy
Présentation Groovy
Node.js, le pavé dans la mare
Introduction à Groovy - OpenSource eXchange 2008
Notions de base de JavaScript
Patterns and OOP in PHP
La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !
Développer sereinement avec Node.js
Introduction au langage Go
Les tests comportementaux avec aspnet core
De legacy à symfony
Design poo togo_jug_final
Design poo togo_jug_final
javascript cours developpement nbhdjcbhdcjbn
Javascript - Fonctions : que fait ce code ?
Test unitaires - refactoring - clean code
Introduction à JavaScript
Créer des applications Java avec MongoDB
Dynamic Languages
Publicité

Dernier (13)

PDF
famille ................................
PDF
Controle-and-Assurance-Qualite-logicielle-Developpement-du-tableau-de-bord-de...
PPTX
Cours_IoT.pptx k
PPT
Icc courant de court circuit explication
PPT
Présentation de l’Analyse et Concepti SI
PDF
ENSEIGNEMENT/APPRENTISSAGE ET COMPETENCE
PDF
Proposition de contenu pouvant résoudre les problèmes détectés à partir des é...
PDF
Binayat 3D PROJET ECOLE SUR ENERGETIQUE DU BATIMENTS
PDF
Regles sur la gestion de l’Eclairage public
PDF
UX DESIGN presentation canva plan et slides
PDF
Apprentissage supervisé : La Classification.pdf
PPTX
template SR.pptx pour les présentations de soutenances
PPTX
Chapitre7-java------------------ Exception.pptx
famille ................................
Controle-and-Assurance-Qualite-logicielle-Developpement-du-tableau-de-bord-de...
Cours_IoT.pptx k
Icc courant de court circuit explication
Présentation de l’Analyse et Concepti SI
ENSEIGNEMENT/APPRENTISSAGE ET COMPETENCE
Proposition de contenu pouvant résoudre les problèmes détectés à partir des é...
Binayat 3D PROJET ECOLE SUR ENERGETIQUE DU BATIMENTS
Regles sur la gestion de l’Eclairage public
UX DESIGN presentation canva plan et slides
Apprentissage supervisé : La Classification.pdf
template SR.pptx pour les présentations de soutenances
Chapitre7-java------------------ Exception.pptx
Publicité

AMD/CommonJs/EcmaScript

  • 1. AMD / COMMONJS / ECMA SCRIPT 6 J A V A S C R I P T Belgacem Ben ltaif
  • 2. @GASSTON Développeur javascript / php / ruby  CTO PowerFul Consulting Consultant technique en digital  Activiste en logicel libre "opensource" Entrepreneur http://gasston-labs.fr https://github.com/gasston   
  • 3. AVANTAGE DU JAVASCRIPT MODULAIRE •Autonome • Évitez la pollution de la portée global (la portée global n'est pas mauvaise!) • Tenir le projet organisé • Améliorer la réutilisabilité du code • API hautement vérifiable et bien définie
  • 4. AMD COMMON JS L E S S O L U T I O N S ?
  • 5. define({            age: "16",            taille: "150"  }); Objet de retour simple en tant que collection de paires nom / valeur. AMD
  • 6. define(function () {      // Do setup work here      return {           color: "black",            size: "unisize"        }     }); Objet de retour avec la mise en œuvre ""privacy"". AMD
  • 7. define(["./notes", "./eleve"],                 function(notes, eleve) {      var code = "675";      var getNote = function(){        return eleve.getNote(code); }; Retourner l'objet avec l'implémentation et les dépendances ." AMD
  • 8. import eleve from collections; eleve.getNumber(); Fichier simple qui "importe" les fonctionnalités COMMONJS
  • 9. var rest, mime, eleve; rest = require('rest'); mime = require('rest/interceptor/mime'); Fichier simple et simple qui "exporte" les fonctionnalités à l'aide de la variable "module" (Eleve.js)" COMMO NJS
  • 10. ECMA6 MODULES export, functions and variables • export function area(radius) { return Math.PI * radius * radius;         } export PI = Math.PI; • import, modules
  • 11. ADVANTAGES Syntaxe compacte et synchrone • Chargement asynchrone • Inclusion du module conditionnel • Promouvoir la modularisation du code • Développement de style API
  • 12. OBJECT.ASSING var worker = {}; var isAdult = {    age: '15',     getAge: function() {    console.log(`isAdult $this.age`);     }}; Copier le comportement d'un objet vers un autre objet sans utiliser l'héritage des classes ou de prototypes. ECMA6
  • 13. OBJECT.IS Object.is("foo", "foo"); // true Object.is(window, window); // true Object.is("foo", "bar"); // false Object.is([], []); // false var test = {a: 1}; Object.is(test, test); // true Méthode d'objet pour déterminer si deux valeurs ont la même valeur comme l'opérateur strict de l'égalité. ECMA6
  • 14. LES PROMESSES SONT LA FAÇON UNIQUE D'ORGANISER L'AVENIR, CE QUI REND PRÉVISIBLE ET FIABLE DANS LA MESURE OÙ CELA EST HUMAINEMENT POSSIBLE. "HANNAH ARENDT"
  • 15. PROMISES  • Une promesse est une valeur asynchrone • L'objet Promise est utilisé pour les calcules  différés et asynchrones • Une promesse est un espace réservé pour une future valeur possible ECMA6
  • 16. PROMISES  • Une promesse est une valeur asynchrone • L'objet Promise est utilisé pour les calcules  différés et asynchrones • Une promesse est un espace réservé pour une future valeur possible ECMA6
  • 17. UTILISER UNE PROMISE var promise = Promise.resolve($.ajax('/whatever.json')); promise.then(function(result) { console.log(result); // "Stuff worked!" }, function(err) { console.log(err); // Error: "It broke" }); ECMA6 Une promesse peut être utilisée en invoquant la méthode then (), elle accepte une Le succès et un gestionnaire d'échec comme arguments.
  • 18. UTILISER UNE PROMISE var promise = Promise.resolve($.ajax('/whatever.json')); promise.then(function(result) { console.log(result); // "Stuff worked!" }, function(err) { console.log(err); // Error: "It broke" }); ECMA6 Une promesse peut être utilisée en invoquant la méthode then (), elle accepte une Le succès et un gestionnaire d'échec comme arguments.
  • 19. MERCI !! @ G A S S T O N B E L G A C E M B E N L T A I F