CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

la fonction at en javascript

Pseudo supprimé
Pseudo supprimé 22 juillet 2022 à 17:07:48

En javascript pour accéder à un élément d'un tableau on utilise
myArray[ index ]
mais depuis ES2022 (ou 2021 je sais plus c'est pas important) on peut aussi utiliser la méthode at
https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/at
l'avantage de at c'est surtout de pouvoir utiliser un index négatif, par exemple :
myArray.at( -1 ) permet d'accéder au dernier élément

j'ai dû mal à comprendre ce qui justifie la création d'une nouvelle méthode quand on aurait tout simplement pu implémenter le comportement de cette fonctionnalité avec les crochets en autorisant :
myArray[ -1 ]

du coup j'ai 3 questions :
pourquoi ils ont implémenté at ?
comment je fais pour trouver la réponse à ce type question sur internet ?
dans le but d'être un meilleur développeur est ce que je dois me poser ce genre de question ou est ce que je perds mon temps ?

unpseudaldeplus
unpseudaldeplus
Niveau 31
22 juillet 2022 à 19:32:31

Tu perds ton temps. De rien

benjil
benjil
Niveau 6
22 juillet 2022 à 20:31:37

La reponse est simple, changer le comportement des crochets c'est un "Breaking change" et on fait pas de breaking change sur un truc aussi utilisé.

Epervier62
Epervier62
Niveau 6
23 juillet 2022 à 09:00:12

Je pense que c'est simplement une convention comme "at" est une méthode on met les parenthèse, se serait moins intuitif je pense d'implémenter ça dans les crochets.

Pseudo supprimé
Pseudo supprimé 23 juillet 2022 à 13:54:32

Le 23 juillet 2022 à 09:00:12 :
Je pense que c'est simplement une convention comme "at" est une méthode on met les parenthèse, se serait moins intuitif je pense d'implémenter ça dans les crochets.

non je pense que benji a raison c'est par soucis de retro compatibilité :(

godrik
godrik
Niveau 30
23 juillet 2022 à 16:33:10

du coup j'ai 3 questions :
pourquoi ils ont implémenté at ?

Comme a ete dit au dessus, c'est probablement une raison de compatibilite arriere. Une fois que tu as defini le comportement d'une fonctionnalite, tu ne veux pas la changer. Si tu la changes, tu risques de casser des tonnes de codes qui se reposent sur cette fonctionnalite.

JavaScript est un langage qui est fait de bric et de broc parcequ'il a ete developpe originalement dans un context different et avec une attention mineure a sa standardisation originalement. (Lis l'histoire sur wikipedia.) Donc originalement, le comportement du langage n'avait pas ete regarder de facon trop attentive. Une fois que tu as de l'adoption, tu es enchaine au comportement existant. Si tu changes le comportement du langage, tu forces des millions de page web a etre mise a jour pour corriger le bug que le changement a introduit. Personne n'aime ca.

Donc j'imagine qu'ils ont introduit at en reponse a un besoin et par peur de casser le comportement de [].

comment je fais pour trouver la réponse à ce type question sur internet ?

C'est psa forcement facil. Ce que je ferais dans ce commencer par chercher quelle est la premiere version de javascript qui contient at(). Ensuite je chercherais cette version de la norme javascript. Ca pourrait contenir les details de pourquoi c'est fait comme ca. Et si ca ne repond pas a ta question, il y a certainement des communications de l'epoque dans l'equipe de normalisation qui explique la raison du changement.

dans le but d'être un meilleur développeur est ce que je dois me poser ce genre de question ou est ce que je perds mon temps ?

Ce n'est pas une mauvaise question a se poser. Souvent il y a une bonne raison. Et comprendre cette raison peut t'aider a prendre de meilleur decision de design eventuellement. Aussi, si tu ne comprends pas le design d'une fonctionnalite, il y a de bonne chance que tu ne comprennes pas la fonctionnalite entierement. Donc poser la question peut t'aider a comprendre mieux.

Mais je ne passerai pas trop de temps a explorer ces questions. Surtout quand on commence un nouveau langage ou la programmation en general. Parceque a ce niveau la, on a tendance a juste manque de maturite dans le langage pour comprendre les raisons.

Pseudo supprimé
Pseudo supprimé 23 juillet 2022 à 19:34:16

merci pour vos réponses,
j'ai trouvé exactement ce que je cherchais :ok: : https://github.com/tc39/proposal-relative-indexing-method/issues/23

Sous forums
  • Aide à l'achat Mac
  • Steam Deck
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Macintosh
  • Hardware
La vidéo du moment