Quelle est la différence entre “{}” et les “ []”, tout en déclarant un tableau JavaScript?
Quelle est la différence entre “{}” et les “ []”, tout en déclarant un tableau JavaScript?
Normalement je déclare comme
var a=[];
Quel est le sens de la déclaration du tableau comme var a={}
var a = {};
, est un objet de paires clé-valeur.var a = [];
est un tableau de valeurs stockées dans séquentielle index.- Vous n'êtes pas la création de tableau lorsque vous utilisez
{}
, vous créezobject
- Qu'est-ce que la question exacte? La différence entre l'objet et le tableau? Qu'essayez-vous de faire? Ajouter un peu plus de code
- Je veut savoir la différence entre [] et {} déclaration, j'ai reçu votre réponse @Tushar
- Cela peut être un Doublon de stackoverflow.com/questions/874205/...
- Mais Ma question est la syntaxe sage de doute, ne Pas poser les mêmes Initialement @jfriend00
- La réponse est que
[]
et{}
de déclarer des choses différentes, comme décrit dans la dup..{}
n'est PAS un tableau.
Vous devez vous connecter pour publier un commentaire.
Personne ne semble être d'expliquer la différence entre un tableau et un objet.
[]
est déclarer un tableau.{}
est la déclaration d'un objet.Un tableau a toutes les caractéristiques d'un objet avec des fonctionnalités supplémentaires (vous pouvez penser à un tableau comme une sous-classe d'un objet), où les autres méthodes et fonctionnalités sont ajoutées dans le Tableau de la sous-classe. En fait,
typeof [] === "object"
encore vous montrer qu'un tableau est un objet.Les caractéristiques supplémentaires consistent en la magie
.length
bien qui garde la trace du nombre d'éléments dans le tableau et tout un tas de méthodes pour l'exploitation sur le tableau, telles que.push()
,.pop()
,.slice()
,.splice()
, etc... Vous pouvez voir une liste de méthodes de tableau ici.Un objet vous donne la possibilité d'associer un nom de propriété avec une valeur comme dans:
Les propriétés de l'objet peut être accessible soit via le
x.foo
syntaxe ou par l'intermédiaire de la matrice de syntaxex["foo"]
. L'avantage de la dernière syntaxe, c'est que vous pouvez utiliser une variable comme nom de propriété commex[myvar]
et à l'aide de la dernière syntaxe, vous pouvez utiliser les noms de propriétés qui contiennent des caractères que Javascript ne permet pas à lax.foo
syntaxe.Un nom de propriété peut être n'importe quelle chaîne de valeur.
Un tableau est un objet de sorte qu'il a tous les mêmes capacités d'un objet, plus un tas de fonctionnalités supplémentaires pour la gestion d'un commandé, séquentielle liste des indices numérotés à partir de
0
et va jusqu'à une certaine longueur. Les tableaux sont généralement utilisés pour une liste ordonnée d'éléments qui sont accessibles par un index numérique. Et, parce que le tableau est ordonné, il y a beaucoup de fonctionnalités utiles pour gérer l'ordre de la liste.sort()
ou d'ajouter ou de supprimer des éléments de la liste.Lorsque vous déclarez
vous déclarez un tableau vide.
Mais quand vous déclarez
vous déclarez un Objet .
Bien que le Tableau est également Objet en Javascript, mais il est touche numérique couplé valeurs.
Qui dispose de toutes les fonctionnalités de l'objet, mais a Ajouté quelques méthode de la Matrice comme Push,Splice,la Longueur et ainsi de suite.
Donc si vous voulez Quelques valeurs où vous devez utiliser les touches numériques de l'utilisation de la Matrice.
d'autre utilisation de l'objet.
vous pouvez Créer un objet comme:
Et peut accéder à des valeurs comme la
var obj = { name: 'A', surname: 'B'}; console.log(obj.name); // A OR console.log(obj['name'])
c'est l'utilisation de crochets pour un tableau de valeurs simples.
par exemple.
est de les utiliser pour la valeur des tableaux et des objets/propriétés aussi.
par exemple.
Il peut être compris comme ceci:
Vous pouvez aussi comprendre que
var a = {};
est équivalent àvar a= new Object();
Remarque:
Vous pouvez utiliser des Tableaux lorsque vous êtes gêné à propos de l'ordre des éléments(de même type) dans votre collection que vous pouvez utiliser des objets. Dans les objets de la commande n'est pas garanti.
ils sont deux choses différentes..
[]
est déclarer un Tableau:donnée, une liste d'éléments détenus par index numérique.
{}
est de déclarer un nouvel objet:donné, un objet avec les champs avec les Noms et le type+valeur
certains aiment à le penser comme un "Tableau Associatif".
mais ne sont pas des tableaux, dans leur représentation.
Vous pouvez en lire plus à @ Cet Article
Syntaxe JSON
object = {} | { membres }
array = [] | [ éléments ]
valeur =
chaîne|nombre de|objet|tableau|vrai|faux|null
En JavaScript les Tableaux et les Objets sont en fait très similaires, bien que de l'extérieur, ils peuvent regarder un peu différent.
D'un tableau:
Comme vous pouvez le voir tableaux en JavaScript peuvent être dispersés (valable indicies n'ont pas à être consécutifs) et ils peuvent contenir tout type de variable! C'est assez pratique.
Mais comme nous le savons tous JavaScript est étrange, donc, ici, sont quelques-uns bizarre bits:
C'est parce que tout en JavaScript est un Objet (qui est pourquoi vous pouvez également créer un tableau à l'aide
new Array()
). En conséquence chaque indice dans un tableau est transformé en une chaîne de caractères, puis stocké dans un objet, un tableau est un objet qui ne permet pas à quiconque de stocker quoi que ce soit avec une clé qui n'est pas un entier positif.Alors, quels sont les Objets?
Objets en JavaScript sont comme des tableaux, mais l ' "indice" peut être n'importe quelle chaîne de caractères.
Vous pouvez même choisir de ne pas utiliser les crochets lorsque vous travaillez avec des objets!
Vous pouvez même aller plus loin et de définir les objets de la sorte: