Je viens de trouver {....0}
dans le code de l'ami. En l'évaluant dans la console, on obtient {}
(objet vide).
Pourquoi ? Quelle est la signification de 4 points en JavaScript ?
Je viens de trouver {....0}
dans le code de l'ami. En l'évaluant dans la console, on obtient {}
(objet vide).
Pourquoi ? Quelle est la signification de 4 points en JavaScript ?
Les quatre points n'ont en fait aucune signification. ...
est le opérateur de diffusion y .0
est le diminutif de 0.0
.
En étalant 0 (ou n'importe quel nombre) dans un objet, on obtient un objet vide, donc {}
.
Trois points dans un objet littéral sont une propriété étalée par exemple :
const a = { b: 1, c: 1 };
const d = { ...a, e: 1 }; // { b: 1, c: 1, e: 1 }
Le dernier point avec un 0 est un chiffre littéral. .0
est la même chose que 0.0
. Par conséquent, ceci :
{ ...(0.0) }
étale toutes les propriétés de l'objet nombre dans l'objet, cependant comme les nombres n'ont pas de propriétés (propres) vous obtenez un objet vide.
En termes simples {...}
L'opérateur d'étalement en javascript étend un objet/rayon avec un autre.
Ainsi, lorsque babelifier essaie d'étendre un tableau avec un autre, il doit identifier s'il essaie d'étendre un tableau ou un objet.
Dans le cas de array
il effectue des itérations sur les éléments.
Dans le cas de object
il parcourt les clés.
Dans ce scénario, le babelyfier essaie d'extraire des clés pour number
en vérifiant l'objet own property call
qui manque pour number
donc il retourne un objet vide.
Opérateur d'écartement {...}
permet aux itérables de s'étendre. Cela signifie que les types de données qui peuvent être définis sous forme de key-value
Les paires peuvent être étendues. En termes de Object
nous appelons la paire clé-valeur comme une propriété d'objet et sa valeur alors qu'en termes de arrays
nous pouvons considérer l'index comme la clé et l'élément du tableau comme sa valeur.
let obj = { a: 4, b: 1};
let obj2 = { ...obj, c: 2, d: 4}; // {a: 4, b: 1, c: 2, d: 4}
let arr1 = ['1', '2'];
let obj3 = { ...arr1, ...['3']}; // {0: "3", 1: "2"}
En termes de tableau, comme il prend l'index comme clé, ici il remplace l'élément '1' de arr1
avec '3' parce que les deux ont le même index dans des tableaux différents.
Avec les chaînes de caractères, l'opérateur d'étalement renvoie un objet non vide. Comme la chaîne est un tableau de caractères, il la traite comme un tableau.
let obj4 = {...'hi',...'hello'} // {0: "h", 1: "e", 2: "l", 3: "l", 4: "o"}
let obj5 = {...'y',...'x'} // {0: "x" }
Mais avec d'autres types de données primitives, il retourne un objet vide.
avec des numéros
let obj6 = { ...0.0, ...55} // {}
avec booléen
let obj7 = { ...true, ...false} // {}
En conclusion, les types de données qui peuvent être traités sous la forme de paires clé-valeur lorsqu'ils sont utilisés avec l'opérateur d'étalement {...}
renvoie un objet non vide, sinon il renvoie un objet vide. {}
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.