SlideShare uma empresa Scribd logo
1 de 11
Baixar para ler offline
JAVASCRIPT DÉMYSTIFIÉ
Comment éviter le #!~?? JS
POURQUOI TANT DE HAINE
Le DOM
Ca ressemble à mon langage mais ça marche pas pareil
C'est illisible
C'est plein de bugs
PETIT APERÇU
(JUSQUE LÀ, TOUT VA BIEN)
var aVar = true;
aVar = 71;
var anObject = {name:'john', age:25};
var inc = function(a){return a+1};
var anArray = [aVar, 50, anObject, inc];
anObject.increment = inc;
LA PROGRAMMATION FONCTIONNELLE
FONCTIONS DE PREMIER ORDRE
Une fonction est un objet
FONCTIONS D'ORDRE SUPÉRIEUR
Une fonction peut prendre en paramètres d'autres fonctions
et avoir pour valeur de retour une fonction
WHAT'S THE ???
'' == '0'// ?
'0' == ''// ?
typeof null // ?
parseInt("08"); // ?
Vous DEVREZ de toute façon connaître les pièges
JSLint et JSHint peuvent vous aider
LES CONSTANTES
const aConst = 71; // oui, mais
aConst = 34; // pas d'exception !!
var MY_CONST = 12; // c'est mieux
MY_CONST = 55; // hum, ça passe...
//... mais l'erreur est facile à voir
Respectez les standards
JSLint et JSHint peuvent vous aider
LES DATES
var date = new Date(); // maintenant
date.getYear();
date.getDate();
date.getMonth();
Bref : à éviter. Utilisez les librairies.
MANIPULER DES FICELLES
var str = "THE blabla";
str = str.toLowerCase();
str.indexOf("the") === 0; // startsWith
str.replace(/bla/g, 'blu'); // replaceAll
Bref : A vous de voir. On peut contourner le manque de
lisibilité.
L'HÉRITAGE PROTOTYPAL
var A = function(){};
var b = new A();
JSHINT ET JSLINT : EXEMPLE
CONCLUSION : UNE BELLE TRONÇONNEUSE

Mais conteúdo relacionado

Mais procurados

Présentation ppt
Présentation pptPrésentation ppt
Présentation pptBoudhir
 
Javascript ne se limite pas à jquery
Javascript ne se limite pas à jqueryJavascript ne se limite pas à jquery
Javascript ne se limite pas à jqueryneuros
 
Les bases de la programmation en JAVA
Les bases de la programmation  en JAVA   Les bases de la programmation  en JAVA
Les bases de la programmation en JAVA Asmaa BENGUEDDACH
 
Eléments syntaxiques du langage java-Jihen HEDHLI
Eléments syntaxiques du langage java-Jihen HEDHLIEléments syntaxiques du langage java-Jihen HEDHLI
Eléments syntaxiques du langage java-Jihen HEDHLIJihenHedhli1
 
Bases de php - Partie 3
Bases de php - Partie 3Bases de php - Partie 3
Bases de php - Partie 3Régis Lutter
 
Formation java script
Formation java scriptFormation java script
Formation java scriptRomdhani Asma
 
PHP - get started
PHP - get startedPHP - get started
PHP - get startedmazenovi
 
PHP 7 et Symfony 3
PHP 7 et Symfony 3PHP 7 et Symfony 3
PHP 7 et Symfony 3Eddy RICHARD
 

Mais procurados (9)

Cours java script
Cours java scriptCours java script
Cours java script
 
Présentation ppt
Présentation pptPrésentation ppt
Présentation ppt
 
Javascript ne se limite pas à jquery
Javascript ne se limite pas à jqueryJavascript ne se limite pas à jquery
Javascript ne se limite pas à jquery
 
Les bases de la programmation en JAVA
Les bases de la programmation  en JAVA   Les bases de la programmation  en JAVA
Les bases de la programmation en JAVA
 
Eléments syntaxiques du langage java-Jihen HEDHLI
Eléments syntaxiques du langage java-Jihen HEDHLIEléments syntaxiques du langage java-Jihen HEDHLI
Eléments syntaxiques du langage java-Jihen HEDHLI
 
Bases de php - Partie 3
Bases de php - Partie 3Bases de php - Partie 3
Bases de php - Partie 3
 
Formation java script
Formation java scriptFormation java script
Formation java script
 
PHP - get started
PHP - get startedPHP - get started
PHP - get started
 
PHP 7 et Symfony 3
PHP 7 et Symfony 3PHP 7 et Symfony 3
PHP 7 et Symfony 3
 

Destaque

El Globo Viajero
El Globo ViajeroEl Globo Viajero
El Globo ViajeroHenar Reca
 
C:\Fakepath\Producto I[1]
C:\Fakepath\Producto I[1]C:\Fakepath\Producto I[1]
C:\Fakepath\Producto I[1]Sonia22duarte
 
Lideresyeducadores 090610145602-phpapp02
Lideresyeducadores 090610145602-phpapp02Lideresyeducadores 090610145602-phpapp02
Lideresyeducadores 090610145602-phpapp02Giancarlo Rossi
 
Présentation Hayya : ( Android, IOS) RFID
Présentation Hayya : ( Android, IOS) RFIDPrésentation Hayya : ( Android, IOS) RFID
Présentation Hayya : ( Android, IOS) RFIDDaoues Amine
 
Ouverture du gîte Ty Yuna à Ploumilliau le 18 juillet 2015
Ouverture du gîte Ty Yuna  à Ploumilliau le 18 juillet 2015Ouverture du gîte Ty Yuna  à Ploumilliau le 18 juillet 2015
Ouverture du gîte Ty Yuna à Ploumilliau le 18 juillet 2015effelbe
 
Fuertes temporales en las costas del Atlántico
Fuertes temporales en las costas del AtlánticoFuertes temporales en las costas del Atlántico
Fuertes temporales en las costas del Atlánticosomanfe
 
E:\ausubel,david
E:\ausubel,davidE:\ausubel,david
E:\ausubel,davidjhbeltran22
 
Copia de dued
Copia de duedCopia de dued
Copia de duedUAP
 
El%2 bclic%2ben%2bla%2bweb
El%2 bclic%2ben%2bla%2bwebEl%2 bclic%2ben%2bla%2bweb
El%2 bclic%2ben%2bla%2bwebDenisse343
 
MADE IN Namur (2015)
MADE IN Namur (2015)MADE IN Namur (2015)
MADE IN Namur (2015)CCILVN
 
International Journal of Humanities and Social Science Invention (IJHSSI)
International Journal of Humanities and Social Science Invention (IJHSSI)International Journal of Humanities and Social Science Invention (IJHSSI)
International Journal of Humanities and Social Science Invention (IJHSSI)inventionjournals
 

Destaque (20)

Presentación Utpl
Presentación UtplPresentación Utpl
Presentación Utpl
 
La formación en las organizaciones
La formación en las organizacionesLa formación en las organizaciones
La formación en las organizaciones
 
Sociales 11 4
Sociales 11 4Sociales 11 4
Sociales 11 4
 
Rafa1
Rafa1Rafa1
Rafa1
 
El Globo Viajero
El Globo ViajeroEl Globo Viajero
El Globo Viajero
 
C:\Fakepath\Producto I[1]
C:\Fakepath\Producto I[1]C:\Fakepath\Producto I[1]
C:\Fakepath\Producto I[1]
 
Lideresyeducadores 090610145602-phpapp02
Lideresyeducadores 090610145602-phpapp02Lideresyeducadores 090610145602-phpapp02
Lideresyeducadores 090610145602-phpapp02
 
Cs scenario-de-developpement-web
Cs scenario-de-developpement-webCs scenario-de-developpement-web
Cs scenario-de-developpement-web
 
Présentation Hayya : ( Android, IOS) RFID
Présentation Hayya : ( Android, IOS) RFIDPrésentation Hayya : ( Android, IOS) RFID
Présentation Hayya : ( Android, IOS) RFID
 
Sgm
SgmSgm
Sgm
 
Ouverture du gîte Ty Yuna à Ploumilliau le 18 juillet 2015
Ouverture du gîte Ty Yuna  à Ploumilliau le 18 juillet 2015Ouverture du gîte Ty Yuna  à Ploumilliau le 18 juillet 2015
Ouverture du gîte Ty Yuna à Ploumilliau le 18 juillet 2015
 
Le couperet
Le couperetLe couperet
Le couperet
 
Fuertes temporales en las costas del Atlántico
Fuertes temporales en las costas del AtlánticoFuertes temporales en las costas del Atlántico
Fuertes temporales en las costas del Atlántico
 
E:\ausubel,david
E:\ausubel,davidE:\ausubel,david
E:\ausubel,david
 
Copia de dued
Copia de duedCopia de dued
Copia de dued
 
Tendances Seniors n°1
Tendances Seniors n°1Tendances Seniors n°1
Tendances Seniors n°1
 
El%2 bclic%2ben%2bla%2bweb
El%2 bclic%2ben%2bla%2bwebEl%2 bclic%2ben%2bla%2bweb
El%2 bclic%2ben%2bla%2bweb
 
MADE IN Namur (2015)
MADE IN Namur (2015)MADE IN Namur (2015)
MADE IN Namur (2015)
 
Amenagement haut de gamme
Amenagement haut de gammeAmenagement haut de gamme
Amenagement haut de gamme
 
International Journal of Humanities and Social Science Invention (IJHSSI)
International Journal of Humanities and Social Science Invention (IJHSSI)International Journal of Humanities and Social Science Invention (IJHSSI)
International Journal of Humanities and Social Science Invention (IJHSSI)
 

Javascript demystified

  • 2. POURQUOI TANT DE HAINE Le DOM Ca ressemble à mon langage mais ça marche pas pareil C'est illisible C'est plein de bugs
  • 3. PETIT APERÇU (JUSQUE LÀ, TOUT VA BIEN) var aVar = true; aVar = 71; var anObject = {name:'john', age:25}; var inc = function(a){return a+1}; var anArray = [aVar, 50, anObject, inc]; anObject.increment = inc;
  • 4. LA PROGRAMMATION FONCTIONNELLE FONCTIONS DE PREMIER ORDRE Une fonction est un objet FONCTIONS D'ORDRE SUPÉRIEUR Une fonction peut prendre en paramètres d'autres fonctions et avoir pour valeur de retour une fonction
  • 5. WHAT'S THE ??? '' == '0'// ? '0' == ''// ? typeof null // ? parseInt("08"); // ? Vous DEVREZ de toute façon connaître les pièges JSLint et JSHint peuvent vous aider
  • 6. LES CONSTANTES const aConst = 71; // oui, mais aConst = 34; // pas d'exception !! var MY_CONST = 12; // c'est mieux MY_CONST = 55; // hum, ça passe... //... mais l'erreur est facile à voir Respectez les standards JSLint et JSHint peuvent vous aider
  • 7. LES DATES var date = new Date(); // maintenant date.getYear(); date.getDate(); date.getMonth(); Bref : à éviter. Utilisez les librairies.
  • 8. MANIPULER DES FICELLES var str = "THE blabla"; str = str.toLowerCase(); str.indexOf("the") === 0; // startsWith str.replace(/bla/g, 'blu'); // replaceAll Bref : A vous de voir. On peut contourner le manque de lisibilité.
  • 9. L'HÉRITAGE PROTOTYPAL var A = function(){}; var b = new A();
  • 10. JSHINT ET JSLINT : EXEMPLE
  • 11. CONCLUSION : UNE BELLE TRONÇONNEUSE