JeuWeb - Crée ton jeu par navigateur
[Résolu][Javascript] Problème de tableau et objet - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [Résolu][Javascript] Problème de tableau et objet (/showthread.php?tid=1520)

Pages : 1 2 3 4


RE: [Résolu][Javascript] Problème de tableau et objet - niahoo - 10-05-2011

elle est ma chaaance à moooaaaaaa !

Hum .. j'avoue que l'esprit de javascript je ne l'ai jamais vraiment capté, on dirait que les mecs ont voulu que leur langage fasse tout, et c'est raté.

d'ailleurs, je sais pas si su WTFJS on parle beaucoup des Arrays, mais je viens de tester et c'est moche. (à moins que l'opérateur '==' ne fonctionne comme en Java)

Code :
>>> new Array()
Array[]
>>> new Array() == []
false
>>> []
Array[]
>>> a = new Array()
Array[]
>>> b = []
Array[]
>>> a == b
false



RE: [Résolu][Javascript] Problème de tableau et objet - Sephi-Chan - 10-05-2011

Quel est le problème ? C'est cohérent, non ? Les tableaux semblent comparés par une identité plutôt que par un contenu.
Là, il n'y a rien d'étrange, mais tu en trouveras toujours des comportements bizarres des langages.
Cf. Strangest language feature sur Stack Ovefflow.


RE: [Résolu][Javascript] Problème de tableau et objet - niahoo - 10-05-2011

C'est ce que je supposais alors, à l'instar de java la comparaison se fait par identité. Mais quelle est la fonction qui permet de faire une comparaison de valeur ?

En java c'est eq() genre (new Truc()).eq(new Truc()) == true


RE: [Résolu][Javascript] Problème de tableau et objet - Wells - 10-05-2011

Comme je disais à mon frère, ne pas confondre simplicité et simplisme. A force de mettre des raccourcis partout, on comprend plus rien.

C'est un peu comme si j'écrivais un roman en mode "prise de note d'étudiant". Ça serait sans doute cohérent niveau sens, mais voila la gageure pour le lire.

Je pense qu'il faut savoir ne pas sacrifier la lisibilité du code pour gagner qq ko. Les raccourcis c'est bien, mais à utiliser à bon escient.


RE: [Résolu][Javascript] Problème de tableau et objet - Sephi-Chan - 10-05-2011

Justement. Quand on écrit du Javascript, les notations littérales sont la norme. Wink
C'est seulement ton passif avec d'autres langage dénués de telles notations qui te donne l'illusion d'une plus grande lisibilité.

Mais ce n'est pas un crime pour autant ! Smile


RE: [Résolu][Javascript] Problème de tableau et objet - niahoo - 10-05-2011

par exemple en erlang et python, seule la notation [...] existe pour les listes et je trouve ça très lisible.


RE: [Résolu][Javascript] Problème de tableau et objet - Wells - 11-05-2011

Tout depend de qu'on entend par "norme". Si tu prend ce qui est écrit dans la norme JS, peu être. Ne l'ayant jamais lu je te fait confiance la dessus.

Si tu prend comme norme la majorité des codes trouvables sur le net, alors les notations simplifiés reste relativement rare.

L'exemple que j'ai donné vient d'une libraire open source, elle n'est pas de moi.

Bref, chacun fait un peu comme il le veut, tant que ca marche hein Smile


RE: [Résolu][Javascript] Problème de tableau et objet - Sephi-Chan - 11-05-2011

Regarde la majorité des codes PHP du Net et dis moi si c'est une référence en terme de qualité. Smile
Puis jette un œil au code source du code écrits par les grands noms du Javascript :
  • jQuery 1.6 : 58 appels à [] pour 0 appel à new Array() ;
  • Prototype 1.7 : 54 appels à [] pour 2 appels à new Array() (seulement parce que leur constructeur prend une taille en paramètre) ;
  • Mootools 1.3.2 : 70 appels à [] pour 2 appels à new Array() (pour les mêmes raison que Prototype) ;

Après, ça n'a effectivement pas une importance capitale, mais le prétexte de la lisibilité était fallacieux. :p


RE: [Résolu][Javascript] Problème de tableau et objet - Argorate - 11-05-2011

Il faut aussi prendre en compte que les librairies JS ont pour but secondaire d'être le plus léger possible en terme de poids pour endicaper le moins possible les webmasters qui font souvent la chasse aux octets en trop.
Donc ça reste cohérent d'utiliser la notation la plus courte/légère, d'autant plus que les librairie sont avant tout faite pour être utilisé et pas pour être lu, donc on perd en lisibilité pour gagner en poids. Comportement que j'adopte pour le JS, mais je garde mes "array()" en php, pour les même raison de lisibilité évoqué.

Chacun fais sont choix, les deux méthodes ont des avantages et inconvénient, le choix qui en résulte pourra donc toujours être critiqué dans une sens comme dans l'autre.


RE: [Résolu][Javascript] Problème de tableau et objet - Sephi-Chan - 11-05-2011

C'est faux. Le code des librairies comme jQuery et compagnie est réalisé dans une optique de lisibilité (puisque forcément, si c'est facile à lire, c'est facile à maintenir). Donc le code est très propre. Ensuite, le poids est réduit à la minification du fichier, et ces outils savent réduire new Array() en [].

En PHP, tu gardes tes array parce que tu n'as pas le choix. C'est tout.

L'instantiation à la Java n'a aucun avantage. Inutile de défendre l'indéfendable.