Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Actualité déjà publiée
 
Outils de la discussion
Publicité
'
Vieux 01/07/2011, 16h40   #1
Chroniqueur Actualités
 
Avatar de Hinault Romaric
 
Homme Hinault Romaric
Consultant
Inscription : janvier 2007
Messages : 2 118
Détails du profil
Informations personnelles :
Nom : Homme Hinault Romaric
Localisation : Cameroun

Informations professionnelles :
Activité : Consultant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2007
Messages : 2 118
Points : 31 153
Points : 31 153
Par défaut ECMA International ratifie la norme JavaScript ECMA-262 Edition 5.1

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 ?
Hinault Romaric est déconnecté   Envoyer un message privé Réponse avec citation 30
Vieux 01/07/2011, 17h47   #2
Membre Expert
 
Avatar de kdmbella
 
Homme Demazy Mbella
Développeur Web
Inscription : août 2010
Messages : 620
Détails du profil
Informations personnelles :
Nom : Homme Demazy Mbella
Localisation : Cameroun

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : août 2010
Messages : 620
Points : 1 470
Points : 1 470
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
kdmbella est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2011, 18h19   #3
Rédacteur/Modérateur
 
Avatar de beekeep
 
Homme
Développeur informatique
Inscription : octobre 2006
Messages : 1 604
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : octobre 2006
Messages : 1 604
Points : 2 233
Points : 2 233
Citation:
Envoyé par Hinault Romaric Voir le message
ECMA-262 définit le langage de script dynamique ECMAScript (JavaScript).
et ActionScript (Flash)
beekeep est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2011, 19h29   #4
Membre expérimenté
 
Inscription : juillet 2010
Messages : 394
Détails du profil
Informations forums :
Inscription : juillet 2010
Messages : 394
Points : 540
Points : 540
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

camus3 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 01/07/2011, 20h12   #5
Expert Confirmé Sénior
 
Avatar de RomainVALERI
 
Homme Romain VALERI
POOête
Inscription : avril 2008
Messages : 2 572
Détails du profil
Informations personnelles :
Nom : Homme Romain VALERI
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : POOête

Informations forums :
Inscription : avril 2008
Messages : 2 572
Points : 4 074
Points : 4 074
Citation:
Envoyé par beekeep Voir le message
et ActionScript (Flash)
...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

__________________
RomainVALERI est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2011, 02h28   #6
Membre Expert
 
Avatar de Watilin
 
Homme Matilin Torre
Étudiant
Inscription : juin 2010
Messages : 679
Détails du profil
Informations personnelles :
Nom : Homme Matilin Torre
Âge : 23
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2010
Messages : 679
Points : 1 202
Points : 1 202
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
Watilin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2011, 09h04   #7
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 944
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 944
Points : 4 774
Points : 4 774
Citation:
Envoyé par camus3 Voir le message
Bref , n'en déplaisent à certain , javascript c'est bien de la m...

typeof MyArray => Object
typeof MyObject => Object
typeof MyString => String

un peu sévère quand même, mais comme tout est "objet" en javascript l'opérateur typeof est effectivement un peu vérolé et pour retrouver la "class" de l'objet il faut utiliser la méthode toString...
Code :
1
2
3
4
var getObjectClass = function( obj){
    return Object.prototype.toString.call( obj);
  };
alert( getObjectClass( []));
...de la sorte on obtient ce que l'on souhaite.

ECMAScript Language Specification
- Object.prototype.toString()
- The typeof Operator
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2011, 14h01   #8
Membre Expert
 
Avatar de Watilin
 
Homme Matilin Torre
Étudiant
Inscription : juin 2010
Messages : 679
Détails du profil
Informations personnelles :
Nom : Homme Matilin Torre
Âge : 23
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2010
Messages : 679
Points : 1 202
Points : 1 202
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 :
1
2
3
4
>>> typeof []
"object"
>>> typeof /^$/
"object"
Pour moi c'est un peu le type natif qui est une aberration en JS : tout n'est pas censé être objet ?

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 :
1
2
>>> [] instanceof Array
true
Là où c'est délicat, c'est si on s'amuse à déclarer des types natifs avec l'opérateur new :
Code console :
1
2
3
4
5
>>> var x = new Number(2)
>>> x instanceof Number
true
>>> typeof x
"object"        // pfff…
Encore mieux :
Code console :
1
2
>>> 12 instanceof Number
false
jQuery utilise beaucoup de méthodes à paramètres optionnels ou quel l'on peut passer dans n'importe quel ordre ; il n'est pas rare d'y trouver des séquences de détection de type comme celle-ci :
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 :
1
2
3
if (method in obj) {
   return obj[method]();
}
Ça, c'est vraiment puissant, non ?
__________________
Disposition de clavier ergonomique française : Bépo
Watilin est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 02/07/2011, 14h57   #9
Membre chevronné
 
Développeur informatique
Inscription : avril 2009
Messages : 272
Détails du profil
Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : avril 2009
Messages : 272
Points : 613
Points : 613
Citation:
Envoyé par Watilin Voir le message
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.
Si si, c'est bien un langage orienté objet, mais à prototype. Et c'est cette notion de prototype que ne comprennent (voire ne connaissent) pas la plupart des développeurs. Il y a encore quelques semaines, j'en parlais avec un développeur web de formation et de profession qui me disait que pas grand monde ne connaissait vraiment bien javascript. Quand je lui ai parlé du prototypage, il m'a dit: "ah ça je connais pas" . En fait il savait juste utiliser jquery... Ce qui confirmait donc malgré lui sa réflexion sur le manque de connaissance du langage...
xelab est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 02/07/2011, 15h04   #10
Expert Confirmé
 
Avatar de sekaijin
 
Femme
Urbaniste
Inscription : juillet 2004
Messages : 1 421
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 48
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Urbaniste
Secteur : Santé

Informations forums :
Inscription : juillet 2004
Messages : 1 421
Points : 2 809
Points : 2 809
Citation:
Envoyé par camus3 Voir le message
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

Ben en java int float boolean char et tout le reste est object. en C int float et char array tout le reste ben c'est rien
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
sekaijin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2011, 18h40   #11
Expert Confirmé
 
Avatar de sekaijin
 
Femme
Urbaniste
Inscription : juillet 2004
Messages : 1 421
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 48
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Urbaniste
Secteur : Santé

Informations forums :
Inscription : juillet 2004
Messages : 1 421
Points : 2 809
Points : 2 809
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
sekaijin est déconnecté   Envoyer un message privé Réponse avec citation 30
Vieux 04/07/2011, 11h37   #12
Membre du Club
 
Inscription : août 2006
Messages : 46
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 46
Points : 60
Points : 60
Citation:
Envoyé par camus3 Voir le message
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

Effectivement, ça me déplaît. Le concept fondamental du langage ecmascript a fait ses preuves. C'est juste qu'en production, on reste à une version mal achevée qui commence sérieusement à dater.
gokudomatic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2011, 13h26   #13
Membre Expert
 
Avatar de Watilin
 
Homme Matilin Torre
Étudiant
Inscription : juin 2010
Messages : 679
Détails du profil
Informations personnelles :
Nom : Homme Matilin Torre
Âge : 23
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2010
Messages : 679
Points : 1 202
Points : 1 202
Citation:
Envoyé par gokudomatic Voir le message
C'est juste qu'en production, on reste à une version mal achevée qui commence sérieusement à dater.
Tout à fait d'accord. Et c'est la faute aux implémentateurs. Les éditeurs de navigateurs préfèrent assurer une rétro-compatibilité pour de vieux sites qui ne sont pas maintenus, quitte à saper les performances et présenter des failles de sécurité. Combien d'infections pourraient être évitées si on jetait document.write aux oubliettes ?

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
Watilin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2011, 13h33   #14
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 019
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 019
Points : 45 114
Points : 45 114
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
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2011, 14h39   #15
Expert Confirmé
 
Avatar de sekaijin
 
Femme
Urbaniste
Inscription : juillet 2004
Messages : 1 421
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 48
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Urbaniste
Secteur : Santé

Informations forums :
Inscription : juillet 2004
Messages : 1 421
Points : 2 809
Points : 2 809
Citation:
Envoyé par Watilin Voir le message
...
Combien d'infections pourraient être évitées si on jetait document.write aux oubliettes ?
Bonjour
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
sekaijin est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 16/07/2011, 17h11   #16
OPi
Membre régulier
 
Avatar de OPi
 
Homme Olivier Pirson
Développeur Web
Inscription : août 2005
Messages : 47
Détails du profil
Informations personnelles :
Nom : Homme Olivier Pirson
Âge : 37
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web
Secteur : Arts - Culture

Informations forums :
Inscription : août 2005
Messages : 47
Points : 96
Points : 96
Envoyer un message via Skype™ à OPi
Citation:
Envoyé par xelab Voir le message
Si si, c'est bien un langage orienté objet, mais à prototype. Et c'est cette notion de prototype que ne comprennent (voire ne connaissent) pas la plupart des développeurs. Il y a encore quelques semaines, j'en parlais avec un développeur web de formation et de profession qui me disait que pas grand monde ne connaissait vraiment bien javascript. Quand je lui ai parlé du prototypage, il m'a dit: "ah ça je connais pas" . En fait il savait juste utiliser jquery... Ce qui confirmait donc malgré lui sa réflexion sur le manque de connaissance du langage...
Effectivement : Programmation orientée prototype

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
OPi est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Actualité déjà publiée
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h07.


 
 
 
 
Partenaires

Hébergement Web