SlideShare une entreprise Scribd logo
Que fait ce code?
En quoi Javascript est-il différent des autres
langages objets?
Objectif
A la fin de cette séance, vous serez capables de créer des
classes et des objets en javascript.
Conditions
Utilisez un éditeur en ligne tel que jsfiddle.net pour tester
votre code manière interactive.
Critères d'évaluation
Ensemble en cours, puis via l’application finale.
Références
http://www.ecmascript.org/
ECMAScript Language Specification
Standard ECMA-262 3rd Edition - December 1999
ECMA-262 5.1 Edition - June 2011
http://www.crockford.com/javascript/survey.html
http://www.xul.fr/ecmascript/
http://www.javascriptkata.com/2007/03/29/how-to-use-javascript-hashes/
http://jpvincent.developpez.com/tutoriels/javascript/trois-fondamentaux-
javascript/
http://t-templier.developpez.com/tutoriel/javascript/javascript-poo1/
http://www.peachpit.com/articles/article.aspx?p=1843879
http://www.adobe.com/devnet/html5/articles/javascript-object-creation.edu.html
L'objet global
C’est ce qui lie la galaxie en un tout
uni.
sCoteObscur = "La peur est le chemin...";
alert(window.sCoteObscur);
This
Qui est this?
alert(this.toString());
alert(quiEstThis());
function quiEstThis(){
var sMsg = "";
for (var unePropriete in this){
sMsg += unePropriete + "n";
}
return sMsg;
}
La vraie nature des objets
Syntaxe littérale (JSON)
oRebel = {
prenom:"luke",
surnom:"skywalker"
};
oRebel.yoda = "Personne par la guerre, ne devient grand.";
oRebel["obi-wan"] = "Ce n'est pas une lune, c'est une base sidérale";
var sTexte = "proprietes de l'objet oRebel: n";
for (var unePropriete in oRebel) {
sTexte+= unePropriete + " = " + oRebel[unePropriete] + "n";
}
alert(sTexte);
Les objets sont des tableaux
Object est un hashtable (tableau associatif) : une liste non
ordonnée de paires clé-valeur.
Ex : monObjet = {"cle1": "valeur1", "cle2": "valeur2"};
http://www.xul.fr/ecmascript/associatif.php
"Les tableaux associatifs sont des objets dynamiques que
l'utilisateur redéfinit selon ses besoins. Quand on assigne
des valeurs à des clés dans une variable de type Array, le
tableau se transforme en objet, et il perd les attributs et
méthodes de Array. L'attribut length n'est plus disponible
car la variable n'a plus le type Array."
La méhode valueof() appelée sur l'objet wrapper d'un type
primitif renvoie la valeur littérale stocké en mémoire.
Equivalents des concepts
de Classe
Constructeur
function Rebel(sNom)
{
var sMonNom = sNom;
return this;
};
Propriétés statiques
Rebel.yoda = "Personne par la guerre, ne devient grand.";
Rebel["obi-wan"] = "Tu ne peux pas gagner...";
var sTexte = "proprietes statiques de la classe Rebel: n";
for (var unePropriete in Rebel) {
sTexte+= unePropriete + " = " + Rebel[unePropriete] + "n";
}
alert(sTexte);
Propriétés d'instances
//objet (instance de classe)
oLuke = new Rebel();
var sTexte = "proprietes de l'objet oLuke : n";
for (var unePropriete in oLuke ) {
sTexte+= unePropriete + " = " + oLuke [unePropriete] + "n";
}
alert(sTexte);
Variables privées (de dessert)
function Leia()
{
var sReponse = "Autant embrasser un Wookie";
function leiaRepondre()
{
return sReponse;
}
}
alert(Leia.sReponse); //undefined : variable privée
alert(Leia.leiaRepondre); //undefined : méthode privée
Membres publics
Memoire= function () {
var iMemoire = 0;
var fAjouter =
function(iAjout) {
iMemoire
+= iAjout;
return
iMemoire;
};
var oMethodes = {
ajouter:fAjouter
};
//création de membres publics
return oMethodes;
};
/* Code de test :
*/
oMemoire1= new Memoire();
alert(oMemoire1.ajouter(1)); // 1
alert(oMemoire1.ajouter(3)); // 4
oMemoire2= new Memoire();
alert(oMemoire2.ajouter(2)); // 2
alert(oMemoire2.ajouter(5)); // 7
Construisons ensemble
une calculatrice
J'ai la mémoire qui flanche...
Complètez votre calculatrice en lui ajoutant une gestion de
mémoire.
Créez une fonction permettant d'ajouter et de retirer à la
mémoire.
Vrai ou faux?
Que fait ce code?
C'est null!
var o1 = null;
var o2 = new Object();
var o3 = { couleur:"rouge", prix:5 };
if(!o1 || !o2 || !o3 || !o4)
{
sMsg = "I'm sorry Dave."
+ " I'm afraid I Can't do that...";
alert (sMsg);
}
//votre avis pour if(!o1 || !o2 || !o3)
//votre avis pour if(!o1 || !o2)
//votre avis pour if(!o1)
Bilan
Objectif atteint?
Fin
La série “Que fait ce code?”
de Mickael Ruau
est mise à disposition selon les termes de la
licence Creative Commons Attribution -
Pas d’Utilisation Commerciale -
Partage dans les Mêmes Conditions 4.0 International.
Les autorisations au-delà du champ de cette licence
peuvent être obtenues à
creativecommons@ShakerTechnologies.com.

Contenu connexe

Tendances

Php 2 - Approfondissement MySQL, PDO et MVC
Php 2 - Approfondissement MySQL, PDO et MVCPhp 2 - Approfondissement MySQL, PDO et MVC
Php 2 - Approfondissement MySQL, PDO et MVC
Pierre Faure
 
Nouveautés JavaScript dans le monde Microsoft
Nouveautés JavaScript dans le monde MicrosoftNouveautés JavaScript dans le monde Microsoft
Nouveautés JavaScript dans le monde Microsoft
davrous
 
CocoaHeads Rennes #13 : Magical Record
CocoaHeads Rennes #13 : Magical RecordCocoaHeads Rennes #13 : Magical Record
CocoaHeads Rennes #13 : Magical Record
CocoaHeadsRNS
 
Javascript : fondamentaux et OOP
Javascript : fondamentaux et OOPJavascript : fondamentaux et OOP
Javascript : fondamentaux et OOP
Jean-Pierre Vincent
 
CocoaHeads Rennes #9 : Gestion mémoire, du débutant à l'expert
CocoaHeads Rennes #9 : Gestion mémoire, du débutant à l'expertCocoaHeads Rennes #9 : Gestion mémoire, du débutant à l'expert
CocoaHeads Rennes #9 : Gestion mémoire, du débutant à l'expert
CocoaHeadsRNS
 
Introduction a jQuery
Introduction a jQueryIntroduction a jQuery
Introduction a jQuery
Clément Delmas
 
Javascript proprement
Javascript proprementJavascript proprement
Javascript proprement
Guillaume Collic
 
Javascript #9 : barbarian quest
Javascript #9 : barbarian questJavascript #9 : barbarian quest
Javascript #9 : barbarian quest
Jean Michel
 
Présentation JavaScript
Présentation JavaScriptPrésentation JavaScript
Présentation JavaScript
tarkan_
 
Comprendre les scripts shell auto-extractible
Comprendre les scripts shell auto-extractibleComprendre les scripts shell auto-extractible
Comprendre les scripts shell auto-extractible
Thierry Gayet
 
Promises Javascript
Promises JavascriptPromises Javascript
Promises Javascript
Julien CROUZET
 
Sirikit par Julien Coudsi
Sirikit par Julien CoudsiSirikit par Julien Coudsi
Sirikit par Julien Coudsi
Idean France
 
Bases de PHP - Partie 1
Bases de PHP - Partie 1Bases de PHP - Partie 1
Bases de PHP - Partie 1
Régis Lutter
 
Retour à la simplicité
Retour à la simplicitéRetour à la simplicité
Retour à la simplicitéMontreal JUG
 
CocoaHeads Rennes #1 : Grand Central Dispatch
CocoaHeads Rennes #1 : Grand Central DispatchCocoaHeads Rennes #1 : Grand Central Dispatch
CocoaHeads Rennes #1 : Grand Central Dispatch
CocoaHeadsRNS
 
Un exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHPUn exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHP
Kristen Le Liboux
 
Tp-jquery
Tp-jqueryTp-jquery
Tp-jquery
eric German
 
Shell
ShellShell
Trucs et astuces PHP et MySQL
Trucs et astuces PHP et MySQLTrucs et astuces PHP et MySQL
Trucs et astuces PHP et MySQL
Damien Seguy
 

Tendances (19)

Php 2 - Approfondissement MySQL, PDO et MVC
Php 2 - Approfondissement MySQL, PDO et MVCPhp 2 - Approfondissement MySQL, PDO et MVC
Php 2 - Approfondissement MySQL, PDO et MVC
 
Nouveautés JavaScript dans le monde Microsoft
Nouveautés JavaScript dans le monde MicrosoftNouveautés JavaScript dans le monde Microsoft
Nouveautés JavaScript dans le monde Microsoft
 
CocoaHeads Rennes #13 : Magical Record
CocoaHeads Rennes #13 : Magical RecordCocoaHeads Rennes #13 : Magical Record
CocoaHeads Rennes #13 : Magical Record
 
Javascript : fondamentaux et OOP
Javascript : fondamentaux et OOPJavascript : fondamentaux et OOP
Javascript : fondamentaux et OOP
 
CocoaHeads Rennes #9 : Gestion mémoire, du débutant à l'expert
CocoaHeads Rennes #9 : Gestion mémoire, du débutant à l'expertCocoaHeads Rennes #9 : Gestion mémoire, du débutant à l'expert
CocoaHeads Rennes #9 : Gestion mémoire, du débutant à l'expert
 
Introduction a jQuery
Introduction a jQueryIntroduction a jQuery
Introduction a jQuery
 
Javascript proprement
Javascript proprementJavascript proprement
Javascript proprement
 
Javascript #9 : barbarian quest
Javascript #9 : barbarian questJavascript #9 : barbarian quest
Javascript #9 : barbarian quest
 
Présentation JavaScript
Présentation JavaScriptPrésentation JavaScript
Présentation JavaScript
 
Comprendre les scripts shell auto-extractible
Comprendre les scripts shell auto-extractibleComprendre les scripts shell auto-extractible
Comprendre les scripts shell auto-extractible
 
Promises Javascript
Promises JavascriptPromises Javascript
Promises Javascript
 
Sirikit par Julien Coudsi
Sirikit par Julien CoudsiSirikit par Julien Coudsi
Sirikit par Julien Coudsi
 
Bases de PHP - Partie 1
Bases de PHP - Partie 1Bases de PHP - Partie 1
Bases de PHP - Partie 1
 
Retour à la simplicité
Retour à la simplicitéRetour à la simplicité
Retour à la simplicité
 
CocoaHeads Rennes #1 : Grand Central Dispatch
CocoaHeads Rennes #1 : Grand Central DispatchCocoaHeads Rennes #1 : Grand Central Dispatch
CocoaHeads Rennes #1 : Grand Central Dispatch
 
Un exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHPUn exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHP
 
Tp-jquery
Tp-jqueryTp-jquery
Tp-jquery
 
Shell
ShellShell
Shell
 
Trucs et astuces PHP et MySQL
Trucs et astuces PHP et MySQLTrucs et astuces PHP et MySQL
Trucs et astuces PHP et MySQL
 

En vedette

PROLIFE PRODUCT PRESENTATION - ARABIC
PROLIFE PRODUCT PRESENTATION - ARABICPROLIFE PRODUCT PRESENTATION - ARABIC
PROLIFE PRODUCT PRESENTATION - ARABIC
Arnold Arbuis
 
Value Proposition Design
Value Proposition DesignValue Proposition Design
Value Proposition Design
Ruau Mickael
 
Animer une formation : les bases
Animer une formation : les basesAnimer une formation : les bases
Animer une formation : les basesRuau Mickael
 
PASSOVERbcsnet5
PASSOVERbcsnet5PASSOVERbcsnet5
PASSOVERbcsnet5
Nkor Ioka
 
Russia
RussiaRussia
Russia
billkb
 
Portadas nacionales 3 marzo-17
Portadas nacionales 3 marzo-17Portadas nacionales 3 marzo-17
Portadas nacionales 3 marzo-17
Portadas Nacionales Think Mercadotecnia
 
Loan Frame: Lubricating the Economy's Wheels
Loan Frame: Lubricating the Economy's WheelsLoan Frame: Lubricating the Economy's Wheels
Loan Frame: Lubricating the Economy's Wheels
Shailesh Jacob
 
Lvw spring 2017 roger owens
Lvw spring 2017 roger owensLvw spring 2017 roger owens
Lvw spring 2017 roger owens
Roger Owens
 
The Cat Who Sat Down At The Reference Desk
The Cat Who Sat Down At The Reference DeskThe Cat Who Sat Down At The Reference Desk
The Cat Who Sat Down At The Reference Desk
David Newyear
 
Cómo crear un Blog en Wordpress (Slideshare)
Cómo crear un Blog en Wordpress (Slideshare)Cómo crear un Blog en Wordpress (Slideshare)
Cómo crear un Blog en Wordpress (Slideshare)Marta Lucía Restrepo
 
Short brief on community led-housing-28th_feb 2017
Short brief on community led-housing-28th_feb 2017Short brief on community led-housing-28th_feb 2017
Short brief on community led-housing-28th_feb 2017
Anna Malina
 
B2B Conference rio.Futuro about digital (may 25th & 26th)
B2B Conference rio.Futuro about digital (may 25th & 26th)B2B Conference rio.Futuro about digital (may 25th & 26th)
B2B Conference rio.Futuro about digital (may 25th & 26th)
MOX Digital
 
'One size fits all' communication is dead
'One size fits all' communication is dead'One size fits all' communication is dead
'One size fits all' communication is dead
George Arbogust
 
Wire Nail Making Machine
Wire Nail Making MachineWire Nail Making Machine
Wire Nail Making Machine
Wire Nail Machine
 
Announcements- Thursday March 2, 2017
Announcements- Thursday March 2, 2017Announcements- Thursday March 2, 2017
Announcements- Thursday March 2, 2017
Ken Stayner
 
Typhoid fever
Typhoid feverTyphoid fever
Typhoid fever
Adarsh Chand
 
Philips hue – your personal wireless lighting system
Philips hue – your personal wireless lighting systemPhilips hue – your personal wireless lighting system
Philips hue – your personal wireless lighting system
Ng Mark
 
Comment investir son argent ?
Comment investir son argent ?Comment investir son argent ?
Comment investir son argent ?
FIDAQUITAINE
 
Elementos economicos
Elementos economicosElementos economicos
Elementos economicos
melisa sierra garcia
 
Slik får du med deg folk
Slik får du med deg folkSlik får du med deg folk
Slik får du med deg folk
Gamnes farm
 

En vedette (20)

PROLIFE PRODUCT PRESENTATION - ARABIC
PROLIFE PRODUCT PRESENTATION - ARABICPROLIFE PRODUCT PRESENTATION - ARABIC
PROLIFE PRODUCT PRESENTATION - ARABIC
 
Value Proposition Design
Value Proposition DesignValue Proposition Design
Value Proposition Design
 
Animer une formation : les bases
Animer une formation : les basesAnimer une formation : les bases
Animer une formation : les bases
 
PASSOVERbcsnet5
PASSOVERbcsnet5PASSOVERbcsnet5
PASSOVERbcsnet5
 
Russia
RussiaRussia
Russia
 
Portadas nacionales 3 marzo-17
Portadas nacionales 3 marzo-17Portadas nacionales 3 marzo-17
Portadas nacionales 3 marzo-17
 
Loan Frame: Lubricating the Economy's Wheels
Loan Frame: Lubricating the Economy's WheelsLoan Frame: Lubricating the Economy's Wheels
Loan Frame: Lubricating the Economy's Wheels
 
Lvw spring 2017 roger owens
Lvw spring 2017 roger owensLvw spring 2017 roger owens
Lvw spring 2017 roger owens
 
The Cat Who Sat Down At The Reference Desk
The Cat Who Sat Down At The Reference DeskThe Cat Who Sat Down At The Reference Desk
The Cat Who Sat Down At The Reference Desk
 
Cómo crear un Blog en Wordpress (Slideshare)
Cómo crear un Blog en Wordpress (Slideshare)Cómo crear un Blog en Wordpress (Slideshare)
Cómo crear un Blog en Wordpress (Slideshare)
 
Short brief on community led-housing-28th_feb 2017
Short brief on community led-housing-28th_feb 2017Short brief on community led-housing-28th_feb 2017
Short brief on community led-housing-28th_feb 2017
 
B2B Conference rio.Futuro about digital (may 25th & 26th)
B2B Conference rio.Futuro about digital (may 25th & 26th)B2B Conference rio.Futuro about digital (may 25th & 26th)
B2B Conference rio.Futuro about digital (may 25th & 26th)
 
'One size fits all' communication is dead
'One size fits all' communication is dead'One size fits all' communication is dead
'One size fits all' communication is dead
 
Wire Nail Making Machine
Wire Nail Making MachineWire Nail Making Machine
Wire Nail Making Machine
 
Announcements- Thursday March 2, 2017
Announcements- Thursday March 2, 2017Announcements- Thursday March 2, 2017
Announcements- Thursday March 2, 2017
 
Typhoid fever
Typhoid feverTyphoid fever
Typhoid fever
 
Philips hue – your personal wireless lighting system
Philips hue – your personal wireless lighting systemPhilips hue – your personal wireless lighting system
Philips hue – your personal wireless lighting system
 
Comment investir son argent ?
Comment investir son argent ?Comment investir son argent ?
Comment investir son argent ?
 
Elementos economicos
Elementos economicosElementos economicos
Elementos economicos
 
Slik får du med deg folk
Slik får du med deg folkSlik får du med deg folk
Slik får du med deg folk
 

Similaire à Javascript objet : que fait ce code ?

Javascript Json artchitecture
Javascript  Json artchitecture Javascript  Json artchitecture
Javascript Json artchitecture
zaghir
 
Cours j query-id1575
Cours j query-id1575Cours j query-id1575
Cours j query-id1575kate2013
 
GWT : under the hood
GWT : under the hoodGWT : under the hood
GWT : under the hoodsvuillet
 
La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !
La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !
La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !
Paris Salesforce Developer Group
 
JQuery
JQueryJQuery
Vert.x 3
Vert.x 3Vert.x 3
Vert.x 3
Xavier MARIN
 
Utilisation de ZK avec Java - Retour d’expérience
Utilisation de ZK avec Java - Retour d’expérienceUtilisation de ZK avec Java - Retour d’expérience
Utilisation de ZK avec Java - Retour d’expérience
louschwartz
 
Javascript ne se limite pas à jquery
Javascript ne se limite pas à jqueryJavascript ne se limite pas à jquery
Javascript ne se limite pas à jquery
neuros
 
Présentation Groovy
Présentation GroovyPrésentation Groovy
Présentation Groovyguest6e3bed
 
Présentation Groovy
Présentation GroovyPrésentation Groovy
Présentation GroovyJS Bournival
 
Présentation Javascript à l'ESI (Alger)
Présentation Javascript à l'ESI (Alger)Présentation Javascript à l'ESI (Alger)
Présentation Javascript à l'ESI (Alger)
Dr Samir A. ROUABHI
 
Grails from scratch to prod - MixIT 2011
Grails from scratch to prod - MixIT 2011Grails from scratch to prod - MixIT 2011
Grails from scratch to prod - MixIT 2011Aurélien Maury
 
Cours JavaScript
Cours JavaScriptCours JavaScript
Cours JavaScript
Olivier Le Goaër
 
Fondamentaux portée - contexte - function ms tech days
Fondamentaux   portée - contexte - function ms tech daysFondamentaux   portée - contexte - function ms tech days
Fondamentaux portée - contexte - function ms tech days
Jean-Pierre Vincent
 
Introduction à JavaScript
Introduction à JavaScriptIntroduction à JavaScript
Introduction à JavaScript
Microsoft
 
cours developpement web javascript 2023/2024
cours developpement web javascript 2023/2024cours developpement web javascript 2023/2024
cours developpement web javascript 2023/2024
YounesOuladSayad1
 
L’environnement de programmation fonctionnelle DrRacket
L’environnement de programmation fonctionnelle DrRacketL’environnement de programmation fonctionnelle DrRacket
L’environnement de programmation fonctionnelle DrRacket
Stéphane Legrand
 
Hands on lab Elasticsearch
Hands on lab ElasticsearchHands on lab Elasticsearch
Hands on lab Elasticsearch
David Pilato
 
Javascript : que fait ce code?
Javascript : que fait ce code?Javascript : que fait ce code?
Javascript : que fait ce code?
Ruau Mickael
 

Similaire à Javascript objet : que fait ce code ? (20)

Javascript Json artchitecture
Javascript  Json artchitecture Javascript  Json artchitecture
Javascript Json artchitecture
 
Cours j query-id1575
Cours j query-id1575Cours j query-id1575
Cours j query-id1575
 
GWT : under the hood
GWT : under the hoodGWT : under the hood
GWT : under the hood
 
La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !
La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !
La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !
 
JQuery
JQueryJQuery
JQuery
 
Vert.x 3
Vert.x 3Vert.x 3
Vert.x 3
 
Utilisation de ZK avec Java - Retour d’expérience
Utilisation de ZK avec Java - Retour d’expérienceUtilisation de ZK avec Java - Retour d’expérience
Utilisation de ZK avec Java - Retour d’expérience
 
Javascript ne se limite pas à jquery
Javascript ne se limite pas à jqueryJavascript ne se limite pas à jquery
Javascript ne se limite pas à jquery
 
Présentation Groovy
Présentation GroovyPrésentation Groovy
Présentation Groovy
 
Présentation Groovy
Présentation GroovyPrésentation Groovy
Présentation Groovy
 
Présentation Javascript à l'ESI (Alger)
Présentation Javascript à l'ESI (Alger)Présentation Javascript à l'ESI (Alger)
Présentation Javascript à l'ESI (Alger)
 
Grails from scratch to prod - MixIT 2011
Grails from scratch to prod - MixIT 2011Grails from scratch to prod - MixIT 2011
Grails from scratch to prod - MixIT 2011
 
Cours JavaScript
Cours JavaScriptCours JavaScript
Cours JavaScript
 
Fondamentaux portée - contexte - function ms tech days
Fondamentaux   portée - contexte - function ms tech daysFondamentaux   portée - contexte - function ms tech days
Fondamentaux portée - contexte - function ms tech days
 
Introduction à JavaScript
Introduction à JavaScriptIntroduction à JavaScript
Introduction à JavaScript
 
Mgd scripting
Mgd scriptingMgd scripting
Mgd scripting
 
cours developpement web javascript 2023/2024
cours developpement web javascript 2023/2024cours developpement web javascript 2023/2024
cours developpement web javascript 2023/2024
 
L’environnement de programmation fonctionnelle DrRacket
L’environnement de programmation fonctionnelle DrRacketL’environnement de programmation fonctionnelle DrRacket
L’environnement de programmation fonctionnelle DrRacket
 
Hands on lab Elasticsearch
Hands on lab ElasticsearchHands on lab Elasticsearch
Hands on lab Elasticsearch
 
Javascript : que fait ce code?
Javascript : que fait ce code?Javascript : que fait ce code?
Javascript : que fait ce code?
 

Plus de Ruau Mickael

Panorama de méthodes agiles
Panorama de méthodes agilesPanorama de méthodes agiles
Panorama de méthodes agiles
Ruau Mickael
 
Green web
Green webGreen web
Green web
Ruau Mickael
 
Google Design Sprints v1-1
Google Design Sprints v1-1Google Design Sprints v1-1
Google Design Sprints v1-1
Ruau Mickael
 
L'investissement proportionnel en formation
L'investissement proportionnel en formationL'investissement proportionnel en formation
L'investissement proportionnel en formationRuau Mickael
 
Pour des données fiables
Pour des données fiablesPour des données fiables
Pour des données fiablesRuau Mickael
 
Like Me I'm Famous !
Like Me I'm Famous !Like Me I'm Famous !
Like Me I'm Famous !Ruau Mickael
 
Qui a peur des estimations ?
Qui a peur des estimations ?Qui a peur des estimations ?
Qui a peur des estimations ?Ruau Mickael
 
Consignes épreuve de codage
Consignes épreuve de codageConsignes épreuve de codage
Consignes épreuve de codage
Ruau Mickael
 
Horreurs et recrutement
Horreurs et recrutementHorreurs et recrutement
Horreurs et recrutement
Ruau Mickael
 
Barbie explique IEEE754 : pourquoi les calculs informatiques sont faux?
Barbie explique IEEE754 : pourquoi les calculs informatiques sont faux?Barbie explique IEEE754 : pourquoi les calculs informatiques sont faux?
Barbie explique IEEE754 : pourquoi les calculs informatiques sont faux?
Ruau Mickael
 
Barbie explique IEEE754 : pourquoi les calculs informatiques sont faux!
Barbie explique IEEE754 : pourquoi les calculs informatiques sont faux!Barbie explique IEEE754 : pourquoi les calculs informatiques sont faux!
Barbie explique IEEE754 : pourquoi les calculs informatiques sont faux!
Ruau Mickael
 
Quelle(s) stratégie(s) de développement dans un monde en mouvement?
Quelle(s) stratégie(s) de développement dans un monde en mouvement?Quelle(s) stratégie(s) de développement dans un monde en mouvement?
Quelle(s) stratégie(s) de développement dans un monde en mouvement?
Ruau Mickael
 
Sycfi - Twitter pour les formateurs v.1.1
Sycfi - Twitter pour les formateurs v.1.1Sycfi - Twitter pour les formateurs v.1.1
Sycfi - Twitter pour les formateurs v.1.1
Ruau Mickael
 
IEEE754-pourquoi_les_calculs_informatiques_sont_faux
IEEE754-pourquoi_les_calculs_informatiques_sont_fauxIEEE754-pourquoi_les_calculs_informatiques_sont_faux
IEEE754-pourquoi_les_calculs_informatiques_sont_faux
Ruau Mickael
 
IEEE754-pourquoi_les_calculs_informatiques_sont_faux
IEEE754-pourquoi_les_calculs_informatiques_sont_fauxIEEE754-pourquoi_les_calculs_informatiques_sont_faux
IEEE754-pourquoi_les_calculs_informatiques_sont_faux
Ruau Mickael
 

Plus de Ruau Mickael (18)

Panorama de méthodes agiles
Panorama de méthodes agilesPanorama de méthodes agiles
Panorama de méthodes agiles
 
Green web
Green webGreen web
Green web
 
Google Design Sprints v1-1
Google Design Sprints v1-1Google Design Sprints v1-1
Google Design Sprints v1-1
 
L'investissement proportionnel en formation
L'investissement proportionnel en formationL'investissement proportionnel en formation
L'investissement proportionnel en formation
 
Pour des données fiables
Pour des données fiablesPour des données fiables
Pour des données fiables
 
Besoin d'aide ?
Besoin d'aide ?Besoin d'aide ?
Besoin d'aide ?
 
Like Me I'm Famous !
Like Me I'm Famous !Like Me I'm Famous !
Like Me I'm Famous !
 
Protocamp
ProtocampProtocamp
Protocamp
 
Qui a peur des estimations ?
Qui a peur des estimations ?Qui a peur des estimations ?
Qui a peur des estimations ?
 
hacking learning
hacking learninghacking learning
hacking learning
 
Consignes épreuve de codage
Consignes épreuve de codageConsignes épreuve de codage
Consignes épreuve de codage
 
Horreurs et recrutement
Horreurs et recrutementHorreurs et recrutement
Horreurs et recrutement
 
Barbie explique IEEE754 : pourquoi les calculs informatiques sont faux?
Barbie explique IEEE754 : pourquoi les calculs informatiques sont faux?Barbie explique IEEE754 : pourquoi les calculs informatiques sont faux?
Barbie explique IEEE754 : pourquoi les calculs informatiques sont faux?
 
Barbie explique IEEE754 : pourquoi les calculs informatiques sont faux!
Barbie explique IEEE754 : pourquoi les calculs informatiques sont faux!Barbie explique IEEE754 : pourquoi les calculs informatiques sont faux!
Barbie explique IEEE754 : pourquoi les calculs informatiques sont faux!
 
Quelle(s) stratégie(s) de développement dans un monde en mouvement?
Quelle(s) stratégie(s) de développement dans un monde en mouvement?Quelle(s) stratégie(s) de développement dans un monde en mouvement?
Quelle(s) stratégie(s) de développement dans un monde en mouvement?
 
Sycfi - Twitter pour les formateurs v.1.1
Sycfi - Twitter pour les formateurs v.1.1Sycfi - Twitter pour les formateurs v.1.1
Sycfi - Twitter pour les formateurs v.1.1
 
IEEE754-pourquoi_les_calculs_informatiques_sont_faux
IEEE754-pourquoi_les_calculs_informatiques_sont_fauxIEEE754-pourquoi_les_calculs_informatiques_sont_faux
IEEE754-pourquoi_les_calculs_informatiques_sont_faux
 
IEEE754-pourquoi_les_calculs_informatiques_sont_faux
IEEE754-pourquoi_les_calculs_informatiques_sont_fauxIEEE754-pourquoi_les_calculs_informatiques_sont_faux
IEEE754-pourquoi_les_calculs_informatiques_sont_faux
 

Dernier

Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La JeunesseConseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Oscar Smith
 
Méthodologie de recherche et de rédaction de mémoire.pptx
Méthodologie de recherche et de rédaction de mémoire.pptxMéthodologie de recherche et de rédaction de mémoire.pptx
Méthodologie de recherche et de rédaction de mémoire.pptx
LamoussaPaulOuattara1
 
Iris et les hommes.pptx
Iris      et         les      hommes.pptxIris      et         les      hommes.pptx
Iris et les hommes.pptx
Txaruka
 
4 expositions à voir à Paris.pptx
4   expositions    à   voir   à Paris.pptx4   expositions    à   voir   à Paris.pptx
4 expositions à voir à Paris.pptx
Txaruka
 
SYLLABUS DU COURS MARKETING DTS 1-2.pdf
SYLLABUS DU COURS  MARKETING DTS 1-2.pdfSYLLABUS DU COURS  MARKETING DTS 1-2.pdf
SYLLABUS DU COURS MARKETING DTS 1-2.pdf
Moukagni Evrard
 
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
IES Turina/Rodrigo/Itaca/Palomeras
 
Exame DELF - A2 Francês pout tout public
Exame DELF - A2  Francês pout tout publicExame DELF - A2  Francês pout tout public
Exame DELF - A2 Francês pout tout public
GiselaAlves15
 
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Formation
 
Calendrier du 3 juin 2024 et compte rendu.pdf
Calendrier du 3 juin 2024 et compte rendu.pdfCalendrier du 3 juin 2024 et compte rendu.pdf
Calendrier du 3 juin 2024 et compte rendu.pdf
frizzole
 
Projet de fin d'étude licence en sciece.pptx
Projet de fin d'étude licence en sciece.pptxProjet de fin d'étude licence en sciece.pptx
Projet de fin d'étude licence en sciece.pptx
elfangourabdelouahab
 
Mémoire de licence en finance comptabilité et audit
Mémoire de licence en finance comptabilité et auditMémoire de licence en finance comptabilité et audit
Mémoire de licence en finance comptabilité et audit
MelDjobo
 
Newsletter SPW Agriculture en province du Luxembourg du 03-06-24
Newsletter SPW Agriculture en province du Luxembourg du 03-06-24Newsletter SPW Agriculture en province du Luxembourg du 03-06-24
Newsletter SPW Agriculture en province du Luxembourg du 03-06-24
BenotGeorges3
 
Cours SE - Gestion de la mémoire- Cours IG IPSET.pdf
Cours SE - Gestion de la mémoire- Cours IG IPSET.pdfCours SE - Gestion de la mémoire- Cours IG IPSET.pdf
Cours SE - Gestion de la mémoire- Cours IG IPSET.pdf
MedBechir
 
Festival de Cannes 2024.pptx
Festival      de      Cannes     2024.pptxFestival      de      Cannes     2024.pptx
Festival de Cannes 2024.pptx
Txaruka
 
Contrôle fiscale en république de guinée
Contrôle fiscale en république de guinéeContrôle fiscale en république de guinée
Contrôle fiscale en république de guinée
bangalykaba146
 

Dernier (15)

Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La JeunesseConseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
 
Méthodologie de recherche et de rédaction de mémoire.pptx
Méthodologie de recherche et de rédaction de mémoire.pptxMéthodologie de recherche et de rédaction de mémoire.pptx
Méthodologie de recherche et de rédaction de mémoire.pptx
 
Iris et les hommes.pptx
Iris      et         les      hommes.pptxIris      et         les      hommes.pptx
Iris et les hommes.pptx
 
4 expositions à voir à Paris.pptx
4   expositions    à   voir   à Paris.pptx4   expositions    à   voir   à Paris.pptx
4 expositions à voir à Paris.pptx
 
SYLLABUS DU COURS MARKETING DTS 1-2.pdf
SYLLABUS DU COURS  MARKETING DTS 1-2.pdfSYLLABUS DU COURS  MARKETING DTS 1-2.pdf
SYLLABUS DU COURS MARKETING DTS 1-2.pdf
 
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
 
Exame DELF - A2 Francês pout tout public
Exame DELF - A2  Francês pout tout publicExame DELF - A2  Francês pout tout public
Exame DELF - A2 Francês pout tout public
 
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
 
Calendrier du 3 juin 2024 et compte rendu.pdf
Calendrier du 3 juin 2024 et compte rendu.pdfCalendrier du 3 juin 2024 et compte rendu.pdf
Calendrier du 3 juin 2024 et compte rendu.pdf
 
Projet de fin d'étude licence en sciece.pptx
Projet de fin d'étude licence en sciece.pptxProjet de fin d'étude licence en sciece.pptx
Projet de fin d'étude licence en sciece.pptx
 
Mémoire de licence en finance comptabilité et audit
Mémoire de licence en finance comptabilité et auditMémoire de licence en finance comptabilité et audit
Mémoire de licence en finance comptabilité et audit
 
Newsletter SPW Agriculture en province du Luxembourg du 03-06-24
Newsletter SPW Agriculture en province du Luxembourg du 03-06-24Newsletter SPW Agriculture en province du Luxembourg du 03-06-24
Newsletter SPW Agriculture en province du Luxembourg du 03-06-24
 
Cours SE - Gestion de la mémoire- Cours IG IPSET.pdf
Cours SE - Gestion de la mémoire- Cours IG IPSET.pdfCours SE - Gestion de la mémoire- Cours IG IPSET.pdf
Cours SE - Gestion de la mémoire- Cours IG IPSET.pdf
 
Festival de Cannes 2024.pptx
Festival      de      Cannes     2024.pptxFestival      de      Cannes     2024.pptx
Festival de Cannes 2024.pptx
 
Contrôle fiscale en république de guinée
Contrôle fiscale en république de guinéeContrôle fiscale en république de guinée
Contrôle fiscale en république de guinée
 

Javascript objet : que fait ce code ?

  • 1. Que fait ce code? En quoi Javascript est-il différent des autres langages objets?
  • 2. Objectif A la fin de cette séance, vous serez capables de créer des classes et des objets en javascript.
  • 3. Conditions Utilisez un éditeur en ligne tel que jsfiddle.net pour tester votre code manière interactive.
  • 4. Critères d'évaluation Ensemble en cours, puis via l’application finale.
  • 5. Références http://www.ecmascript.org/ ECMAScript Language Specification Standard ECMA-262 3rd Edition - December 1999 ECMA-262 5.1 Edition - June 2011 http://www.crockford.com/javascript/survey.html http://www.xul.fr/ecmascript/ http://www.javascriptkata.com/2007/03/29/how-to-use-javascript-hashes/ http://jpvincent.developpez.com/tutoriels/javascript/trois-fondamentaux- javascript/ http://t-templier.developpez.com/tutoriel/javascript/javascript-poo1/ http://www.peachpit.com/articles/article.aspx?p=1843879 http://www.adobe.com/devnet/html5/articles/javascript-object-creation.edu.html
  • 7. C’est ce qui lie la galaxie en un tout uni. sCoteObscur = "La peur est le chemin..."; alert(window.sCoteObscur);
  • 9. Qui est this? alert(this.toString()); alert(quiEstThis()); function quiEstThis(){ var sMsg = ""; for (var unePropriete in this){ sMsg += unePropriete + "n"; } return sMsg; }
  • 10. La vraie nature des objets
  • 11. Syntaxe littérale (JSON) oRebel = { prenom:"luke", surnom:"skywalker" }; oRebel.yoda = "Personne par la guerre, ne devient grand."; oRebel["obi-wan"] = "Ce n'est pas une lune, c'est une base sidérale"; var sTexte = "proprietes de l'objet oRebel: n"; for (var unePropriete in oRebel) { sTexte+= unePropriete + " = " + oRebel[unePropriete] + "n"; } alert(sTexte);
  • 12. Les objets sont des tableaux Object est un hashtable (tableau associatif) : une liste non ordonnée de paires clé-valeur. Ex : monObjet = {"cle1": "valeur1", "cle2": "valeur2"}; http://www.xul.fr/ecmascript/associatif.php "Les tableaux associatifs sont des objets dynamiques que l'utilisateur redéfinit selon ses besoins. Quand on assigne des valeurs à des clés dans une variable de type Array, le tableau se transforme en objet, et il perd les attributs et méthodes de Array. L'attribut length n'est plus disponible car la variable n'a plus le type Array." La méhode valueof() appelée sur l'objet wrapper d'un type primitif renvoie la valeur littérale stocké en mémoire.
  • 15. Propriétés statiques Rebel.yoda = "Personne par la guerre, ne devient grand."; Rebel["obi-wan"] = "Tu ne peux pas gagner..."; var sTexte = "proprietes statiques de la classe Rebel: n"; for (var unePropriete in Rebel) { sTexte+= unePropriete + " = " + Rebel[unePropriete] + "n"; } alert(sTexte);
  • 16. Propriétés d'instances //objet (instance de classe) oLuke = new Rebel(); var sTexte = "proprietes de l'objet oLuke : n"; for (var unePropriete in oLuke ) { sTexte+= unePropriete + " = " + oLuke [unePropriete] + "n"; } alert(sTexte);
  • 17. Variables privées (de dessert) function Leia() { var sReponse = "Autant embrasser un Wookie"; function leiaRepondre() { return sReponse; } } alert(Leia.sReponse); //undefined : variable privée alert(Leia.leiaRepondre); //undefined : méthode privée
  • 18. Membres publics Memoire= function () { var iMemoire = 0; var fAjouter = function(iAjout) { iMemoire += iAjout; return iMemoire; }; var oMethodes = { ajouter:fAjouter }; //création de membres publics return oMethodes; }; /* Code de test : */ oMemoire1= new Memoire(); alert(oMemoire1.ajouter(1)); // 1 alert(oMemoire1.ajouter(3)); // 4 oMemoire2= new Memoire(); alert(oMemoire2.ajouter(2)); // 2 alert(oMemoire2.ajouter(5)); // 7
  • 20. J'ai la mémoire qui flanche... Complètez votre calculatrice en lui ajoutant une gestion de mémoire. Créez une fonction permettant d'ajouter et de retirer à la mémoire.
  • 21. Vrai ou faux? Que fait ce code?
  • 22. C'est null! var o1 = null; var o2 = new Object(); var o3 = { couleur:"rouge", prix:5 }; if(!o1 || !o2 || !o3 || !o4) { sMsg = "I'm sorry Dave." + " I'm afraid I Can't do that..."; alert (sMsg); } //votre avis pour if(!o1 || !o2 || !o3) //votre avis pour if(!o1 || !o2) //votre avis pour if(!o1)
  • 24. Fin
  • 25. La série “Que fait ce code?” de Mickael Ruau est mise à disposition selon les termes de la licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International. Les autorisations au-delà du champ de cette licence peuvent être obtenues à creativecommons@ShakerTechnologies.com.

Notes de l'éditeur

  1. L'encapsulation empêche l'accès direct aux variables de la fonction nasdrovia. sReponse et baboushkaRepondre sont des variables privées de la fonction nasdrovia.