Communauté francophone des développeurs 18 sites, un par langage + 1 000 000 membres +35 millions de lignes de codes Nombreux sites satellites : Blogs.CodeS-SourceS.com.

Slides:



Advertisements
Présentations similaires
Bratec Martin ..
Advertisements

NOTIFICATION ÉLECTRONIQUE
Fragilité : une notion fragile ?
SEMINAIRE DU 10 AVRIL 2010 programmation du futur Hôtel de Ville
Phono-sémantique différentielle des monosyllabes italiens
MAGGIO 1967 BOLOGNA - CERVIA ANOMALIES DU SOMMEIL CHEZ L'HOMME
droit + pub = ? vincent gautrais professeur agrégé – avocat
Transcription de la présentation:

Communauté francophone des développeurs 18 sites, un par langage membres +35 millions de lignes de codes Nombreux sites satellites : Blogs.CodeS-SourceS.com Search.CodeS-SourceS.com Files.CodeS-SourceS.com Emploi.CodeS-SourceS.com

JavaScript : un langage incompris Prototype et constructor Microsoft Ajax Library Le futur de JavaScript Tips & tricks : retour dexpérience

Décembre 1995 : Netscape 2.0 LiveScript => JavaScript 1996 : JScript Internet Explorer : Standardisation ECMA => ECMA-262 EcmaScript 1999 : ECMAScript 3 ème édition => JavaScript 1.5

Pas juste un jouet pour la « weberie » Langage de script / interprété Dynamique Orienté prototype Quelques concepts de langage fonctionnel

Number Un seul type : 64 bits à virgule flottante (double)String Immutable Null et Undefined null : valeur dune variable qui ne vaut pas quelque chose undefined : valeur dune variable non assigné ou non déclaréBooleanObject

true ou false Tout ce qui nest pas faux est évalué comme vrai : false 0 NaN Infinity undefined null

typeof Retourne le type de base === (opérateur dégalité strict) Vérifie la valeur et le type || retourne la première valeur non fausse

Déclaration : Fonctions anonymes : Constructeur de fonction

add variable global mal

Le this se rapporte au contexte appelant

apply et call Méthodes de lobjet Function permettent de changer le contexte appelant

Portée de variable au niveau de la fonction closure

Conteneur de paire clé/valeur Tableau associatif Dictionary / HashTable Clé de type string Non trié Hash myObject.name ou myObject[name] Expando attribute Un tableau (Array) est un object !

Chaque objet a un lien caché vers son prototype Linstance du prototype est partagé entre toutes les instances du type Person Person.prototype get_firstName() set_firstName(value) speak() Possibilité de modifier le prototype à nimporte quel instant Y compris sur les types natifs _firstName

Le prototype est un objet Il peut contenir un objet contenant un prototype Chainage de prototypes Notion dhéritage Developper Developper.prototype (Person) Person.prototype get_firstName() set_firstName(value) speak() get_language() set_language(value) code() p.speak()p.prototype.speak()p.prototype.prototype.speak() _firstName _language

prototypeclosure IE ko568 ms ko976 ms FF ko953 ms ko1 236 ms Opera ko284 ms ko674 ms Safari ko240 ms ko333 ms Création de instances de Foo

Framework JavaScript Gratuit Open Source – Microsoft Permissive licence Simplifie les notions objets Utilisé par ASP.net Ajax Modifie le prototype de certains objets

Retour dexpérience

Nouvelles méthodes sur les tableaux indexOf lastIndexOf every Filter Foreach map some E4X : manipulation XML dans js

Firefox 2.0 Generator yield Array comprehension for each (value in obj) Itère sur les valeurslet Déclare une variable de la portée des accolades Valeur de retour multiple

Encore en beta Firefox 3.0

La référence technique pour les IT Pros : pour les IT Pros :technet.microsoft.com Lengagement Microsoft pour les développeurs : msdn.microsoft.com Sinformer - Un portail dinformations, des événements, une newsletter bimensuelle personnalisée Se former - Des webcasts, des articles techniques, des téléchargements, des forums pour échanger avec vos pairs Bénéficier de services - Des cursus de formations et de certifications, des offres de support technique Visual Studio Abonnement MSDN Premium Abonnement TechNet Plus : Versions déval + 2 incidents support

© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. Votre potentiel, notre passion TM