Deutsch   English   Français   Italiano  
<vgq2nc$2d19$1@cabale.usenet-fr.net>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!usenet-fr.net!.POSTED!not-for-mail
From: Olivier Miakinen <om+news@miakinen.net>
Newsgroups: fr.comp.lang.javascript
Subject: Re: Indexation des tableaux en js
Date: Sun, 10 Nov 2024 11:42:52 +0100
Organization: There's no cabale
Lines: 52
Message-ID: <vgq2nc$2d19$1@cabale.usenet-fr.net>
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>
NNTP-Posting-Host: 200.89.28.93.rev.sfr.net
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Trace: cabale.usenet-fr.net 1731235372 78889 93.28.89.200 (10 Nov 2024 10:42:52 GMT)
X-Complaints-To: abuse@usenet-fr.net
NNTP-Posting-Date: Sun, 10 Nov 2024 10:42:52 +0000 (UTC)
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
 Firefox/52.0 SeaMonkey/2.49.4
In-Reply-To: <vgq1vu$2cnv$1@cabale.usenet-fr.net>
Bytes: 2891

Le 10/11/2024 11:30, j'écrivais :
> 
> Cela confirme ce que je disais pour les nombres. Mais je vois que null, true,
> false et NaN ne sont pas transformés. C'est encore plus drôle avec +∞ et −∞
> car seul le second est transformé en chaine de caractères.
> 
> a[4294967294] = 4294967294
> a[4294967295] = 4294967295
> a[true] = 1
> a[null] = 0
> a[false] = -1
> a[NaN] = 42
> a[1/0] = 1/0
> a[-1/0] = -1/0
> 
> Résultat :
> [ <4294967294 empty items>, 4294967294, '4294967295': 4294967295, true: 1, null:
> 0, false: -1, NaN: 42, Infinity: Infinity, '-Infinity': -Infinity ]

Bon, je me suis laissé avoir par l'affichage sur <https://runjs.app/play>.

En réalité, tout index, qu'il soit fourni sous forme de nombre ou sous toute
autre forme, par exemple une chaine de caractères :
− est transformé en nombre s'il peut représenter un nombre entre 0 et 2^32-2 ;
− est transformé en chaine de caractères dans tous les autres cas.

La preuve :

a[0] = 0
a['0'] = '0'
a[4294967294] = 4294967294
a['4294967294'] = '4294967294'
a[true] = 1
a['true'] = 'true'
a[null] = 0
a['null'] = 'null'
a[false] = -1
a['false'] = 'false'
a[NaN] = 42
a['NaN'] = 'NaN'
a[1/0] = 1/0
a['Infinity'] = '+∞'
a[-1/0] = -1/0
a['-Infinity'] = '−∞'

Résultat :
[ '0', <4294967293 empty items>, '4294967294', \\ nombres entre 0 et 4294967294
  true: 'true', null: 'null', false: 'false', NaN: 'NaN', \\ autres
  Infinity: '+∞', '-Infinity': '−∞' ] \\ autres

-- 
Olivier Miakinen