Deutsch English Français Italiano |
<675b7aad$0$433$426a34cc@news.free.fr> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!weretis.net!feeder8.news.weretis.net!news.mixmin.net!proxad.net!feeder1-2.proxad.net!cleanfeed3-a.proxad.net!nnrp2-2.free.fr!not-for-mail From: Thomas Alexandre <none@no.invalid> Subject: Re: Indexation des tableaux en js Newsgroups: fr.comp.lang.javascript References: <672bcce0$0$28508$426a74cc@news.free.fr> <vggpas$b9p$1@cabale.usenet-fr.net> <vggrin$29gqi$1@dont-email.me> <672ce7d7$0$12934$426a74cc@news.free.fr> <vgirti$2nvn9$1@dont-email.me> <vgkk1k$2i8l$1@cabale.usenet-fr.net> <vgko9b$35kqs$1@dont-email.me> <672ea1f1$0$16817$426a34cc@news.free.fr> <vgngar$3oc57$2@dont-email.me> <vgnium$197m$1@cabale.usenet-fr.net> <6730844c$0$424$426a74cc@news.free.fr> <vgq1vu$2cnv$1@cabale.usenet-fr.net> <vgq2nc$2d19$1@cabale.usenet-fr.net> <6759e909$0$12947$426a74cc@news.free.fr> <vjep7j$niu$1@cabale.usenet-fr.net> <vjflb7$114q$1@cabale.usenet-fr.net> MIME-Version: 1.0 Organization: =?UTF-8?B?8J+Nv/Cfjbo=?= User-Agent: Pan/0.161 (Chasiv Yar; ) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Date: 13 Dec 2024 00:07:09 GMT Lines: 44 Message-ID: <675b7aad$0$433$426a34cc@news.free.fr> NNTP-Posting-Date: 13 Dec 2024 01:07:09 CET NNTP-Posting-Host: 78.196.238.42 X-Trace: 1734048429 news-4.free.fr 433 78.196.238.42:40132 X-Complaints-To: abuse@proxad.net Bytes: 3644 Le Thu, 12 Dec 2024 22:41:59 +0100, Olivier Miakinen a écrit : > Ce test montre bien que, quel que soit l'ordre dans lequel je mette une > entrée utilisant comme clé un entier entre 0 et 4294967294 (2**32-2), > celle-ci se place au début avec des « empty items » signalés entre > toutes ces valeurs. Et qu'au contraire tout ce qui n'est pas un entier > entre 0 et 2**32-2 se trouve relégué à la fin, dans l'ordre où je les ai > insérés dans le tableau. La notion "d'ordre" dans lequel tu assignes une entrée en réalité importe peu. En js, un Array est un objet "exotique". C'est-à-dire qu'il est à la fois un Array avec des index (entiers positifs) *et* un objet avec des props. En vrai, tout est objet en js. Dans le cas d'un Array, les indices valides sont traités comme tels (avec un impact sur la taille de l'Array en particulier). Tout le reste est traité comme des props (et n'a aucune incidence sur la taille de l'Array). Pour des personnes qui viennent du C (ou de n'importe quel langage fortement typé - Java, Go, Rust, Zig, etc), c'est une aberration. Mais si l'on accepte que tout est objet en js et que les index ne sont que des props particulières, on commence à retrouver ses petits. Personnellement ce type de "comportement" m'a toujours heurté. Parce que j'ai tâté du C (fortement typé) avant de tâter de l'objet (pas vraiment typé en js - alors qu'il peut l'être en PHP par exemple). Et, sans vouloir troller (surtout sur un forum dédié à js), je considère (et je ne suis pas le seul - mais l'argument du nombre n'est pas un argument valide) que js est très mauvais en termes de "typage". Et pas seulement. Quand je vois du React ou du Typescript qui font de la transpilation pour palier à des manques du js natif (transpilé en js natif au final !), j'ai comme des sueurs froides. Pourtant je l'ai pas mal pratiqué le js "vanille", totalement orienté objet, et avec un certain plaisir même. -- "Ce qu'il faut au fond pour obtenir une espèce de paix avec les hommes, (...) c'est leur permettre en toutes circonstances, de s'étaler, de se vautrer parmi les vantardises niaises. Il n'y a pas de vanité intelligente. C'est un instinct." - Céline