|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
![]() ![]() Hinault RomaricConsultant Inscription : janvier 2007 Messages : 2 118 ![]() |
ECMA International ratifie la norme JavaScript ECMA-262 Edition 5.1
Interopérabilité entre applications Web au menu L'International Organization for Standardization (ISO), l'International Electrotechnical Commission (IEC) et ECMA International ont procédé à une ratification de la norme ECMA-262 Edition 5.1. ECMA-262 définit le langage de script dynamique ECMAScript (JavaScript). ECMA-262 Edition 5.1 est une mise à jour minime mais nécessaire de la norme. Elle apporte un certain nombre de corrections « d'ordre rédactionnel » et de corrections de bugs. ECMA-262 Edition 5.1 permet ainsi une meilleure interopérabilité entre les applications Web et rend plus facile la mise en œuvre de la norme précédente (ECMA-262 Edition 5). Elle sera publiée en tant que norme ISO/IEC 16262 Edition 3. «ECMA-262 Edition 5.1 crée une base solide pour l'évolution future du langage JavaScript standardisé en offrant des fonctionnalités cruciales telles que le mode strict et la Meta-Programming APIs» explique Brendan Eich, directeur technique de Mozilla et principal contributeur de la norme. Pour la première fois, l'ECMA International a promis qu'il allait publier une suite de tests standardisés permettant aux développeurs de voir jusqu'où l'implémentation d'ECMAScript adhère à la norme actuelle. Les responsables de la standardisation d'ECMAScript ont également promis une plus grande cohérence du langage avec les différents navigateurs. Source : ECMA international Et vous ? Que pensez-vous des améliorations de la norme ?
|
|
30
|
|
|
#2 |
|
Membre Expert
![]() ![]() Demazy MbellaDéveloppeur Web Inscription : août 2010 Messages : 620 ![]() |
c'est toujours une bonne chose qu'il y ait une normalisation et une standardisation ça évite d'avoir des fonctions JS qui marche ici et pas là du coup les éditeurs de navigateur n'auront plus qu'à ce conformer à la norme pour nous faciliter la tâche à nous les développeurs
|
|
|
00
|
|
|
#3 |
![]() ![]() Développeur informatique Inscription : octobre 2006 Messages : 1 604 ![]() |
|
|
|
00
|
|
|
#4 |
|
Membre expérimenté
![]() Inscription : juillet 2010 Messages : 394 ![]() |
Ca veut dire quoi mode strict ? quel langage digne de ce nom aurait besoin d'un mode strict si il avait été correctement conçu au départ ?
Bref , n'en déplaisent à certain , javascript c'est bien de la m... ça n’empêche pas qu'on l'utilise pour exploiter des apis , mais c'est juste qu'il est très mal conçu. typeof MyArray => Object typeof MyObject => Object typeof MyString => String |
|
|
01
|
|
|
#5 |
|
Expert Confirmé Sénior
![]() Romain VALERIPOOête Inscription : avril 2008 Messages : 2 572 ![]() |
...et jScript (plus toute autre implémentation particulière, comme celle d'Adobe pour les PDF, Photoshop, etc.) ^^
@camus : oh dis donc t'as vu l'activité qu'il y a à la taverne ! Ils seraient super contents que tu ailles les rejoindre à mon avis ! (j'ai même pas dit le mot "troll" ! ah tiens si... zut )
__________________
...pour les linguistes et les curieux >>> générateur de phrases aléatoires __________________ |
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Matilin TorreÉtudiant Inscription : juin 2010 Messages : 679 ![]() |
Je suis un peu d'accord avec camus… J'ai découvert le mode strict il y a 3 jours ^^ (dans une discussion à propos de with) et j'ai pensé assez vite « tiens, si on oubliait le mode non strict ? ». Le mode strict apporte un gain de performances indéniables (en théorie, car aujourd'hui, il est très peu implémenté).
__________________
Disposition de clavier ergonomique française : Bépo |
|
|
00
|
|
|
#7 | |||
![]() ![]() Inscription : janvier 2011 Messages : 2 944 ![]() |
Citation:
Code :
ECMAScript Language Specification - Object.prototype.toString() - The typeof Operator |
|||
|
|
00
|
|
|
#8 | ||||||||||
|
Membre Expert
![]() Matilin TorreÉtudiant Inscription : juin 2010 Messages : 679 ![]() |
typeof marche bien avec les booléens, nombres, chaînes et fonctions. Mais pas avec Array ni RegExp, même lorsqu'on les déclare de manière littérale :
Code console :
En revanche, on dispose de l'opérateur instanceof, bien pratique si on sait à l'avance quel type on est susceptible de rencontrer : Code console :
Code console :
Code console :
Code JS :
if (typeof arg1 == "string" || arg1 instanceof String) Tout ça pour dire quoi ? JavaScript n'est pas un langage orienté objet. C'est un langage orienté aspect. Un objet n'a pas besoin d'être de tel ou tel type du moment qu'il offre bien les propriétés et méthodes qu'on veut utiliser. C'est le principe du duck typing. Alors oui, je suis tout à fait d'accord, la détection de type est un gros bordel en JS. Mais à part pour l'exemple de jQuery ci-dessus, je n'ai jamais vu de cas où c'était vraiment nécessaire. Code JS :
__________________
Disposition de clavier ergonomique française : Bépo |
||||||||||
|
|
20
|
|
|
#9 | |
|
Membre chevronné
![]() Développeur informatique Inscription : avril 2009 Messages : 272 ![]() |
Citation:
. En fait il savait juste utiliser jquery... Ce qui confirmait donc malgré lui sa réflexion sur le manque de connaissance du langage... |
|
|
|
20
|
|
|
#10 | |
|
Expert Confirmé
![]() ![]() Urbaniste Inscription : juillet 2004 Messages : 1 421 ![]() |
Citation:
en C++ int float char array et le este c'est object ... maintenant certain langage ont un opérateur typof plus sioux puisqu'il retourne la classe quand c'est un objet. je ne vois pas de différence entre javascript et les autres langage sur ce point. si il en existe qui sont beaucoup plus clair. tcl tout est string ou function, en lisp tout est pair (couple), et quelques langages à objets où tout est objet il n'existe pas de type de base comme en java ou js A+JYT |
|
|
|
00
|
|
|
#11 |
|
Expert Confirmé
![]() ![]() Urbaniste Inscription : juillet 2004 Messages : 1 421 ![]() |
re
ecmaScript normalise le langage JavaScript n'est qu'une implémentation parmi d'autres Donc ecmaScript ne normalise pas les chose comme les propriété des objets document ou windows ou HTMLElement etc. ce que normalise Ecmas est le coeur du langage c'est qui une fonction comment on dois interpréter le code source etc. quand à ceux qui s'étonnent du mode Strict Javascript est né chez NetScape côté serveur il à rapidement été repris coté client par Netscape mais aussi microsoft puis par d'autres. à ce moment là il n'existait aucunes instance qui dicte comment doivent êtres faites les choses. puis Ecma c'est emparé de la chose et à sortie la première norme. deux solution s'offrait alors. pondre un truc clean et strict et donc exclure TOUTES les implémentations sans exception. le risque étant alors que personne n'adhérant à la norme (cela demanderait trop d'investissement) elle serait morte née. l'autre solution celle choisie consiste au contraire à faire une norme souple pour embrasser le plus grand nombre. les différents constructeurs n'ont alors que peut de chose à faire pour s'y conformer. ainsi la norme fut largement adopté. pouvais commencer un processus de convergence. au fil des normes les choses se sont donc mieux structurées. le mode strict est apparu pour proposer deux niveau à la norme un qui se veux la réalisation de la première option et un autre pour la seconde. cela permet de conserver les constructeur dans la norme tout en montrant une voie plus "carrée" ça n'a rien d'étonnant en soit c'est un processus de normalisation comme beaucoup d'autre. le relatif échec de XHTML face à HTML5 en est un exemple. XHTML se voulait plus strict plut logique plus efficace mais il était trop éloigné des moteurs existant. très peut de fabriquant ont adhéré. les tenant d'une approche plus pragmatique moins contraignante moins structuré on fini par aboutir à HTML5 qui ne rompt pas avec le passé. on à vécu ça dans java avec les atermoiement des évols de java7 etc. A+JYT |
|
|
30
|
|
|
#12 | |
|
Membre du Club
![]() Inscription : août 2006 Messages : 46 ![]() |
Citation:
|
|
|
|
00
|
|
|
#13 | |
|
Membre Expert
![]() Matilin TorreÉtudiant Inscription : juin 2010 Messages : 679 ![]() |
Citation:
J'aimerais bien voir un projet de navigateur « pur ECMA », avez-vous entendu parler d'un truc du genre ?
__________________
Disposition de clavier ergonomique française : Bépo |
|
|
|
00
|
|
|
#14 |
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 019 ![]() |
galio ?
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
|
|
00
|
|
|
#15 | |
|
Expert Confirmé
![]() ![]() Urbaniste Inscription : juillet 2004 Messages : 1 421 ![]() |
Citation:
ben non ça ce n'est pas normalisé par l'ECMA. Comme je le disais plus haut l'ECMA normalise le langage pas les objet ajouté par les contexte d'utilisation. pour ce qui est des objet du navigateur html dom c'est le W3C qui établi la norme le W3C procède sur se sujet en 2 étapes. les définitions qui définissent les objets et les méthodes qui y sont associées indépendamment des langages. puis les Bindings dont l'ECMAScript Binding et le java binding qui sont la façon don le lagage ECMAScript et Java doivent implémenter ces définitions. le W3C ne définit pas d'autre bidings mais pour C++ ou C par exemple il existe des norme sur la façon d'implémenter des IDL (définitions) le W3C se repose donc dessus. normalement un développeur qui veux implémenter le DOM en C/C++ utilise la définition IDL la passe à la moulinette et obtient la définitions C/C++ des objets et leur méthode reste à charge d'implémenter le code. pour php rien de plus simple on prends le source C généré et on le lie au langage php il en va ainsi de la plus part des langages. A+JYT |
|
|
|
20
|
|
|
#16 | |
|
Membre régulier
![]() |
Citation:
Indeed: JavaScript: The World's Most Misunderstood Programming Language par Douglas Crockford (l'auteur de JSLint et JSON)
__________________
DragonSoft DS (informatique) — Johnny Five JF (textes) — Olivier Pirson OPi (mathématiques) — — — WHM – Wiki Hyper Media |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com