Quelle est la différence entre chacune des définitions de tableau suivantes.
var myArray = [];
var myArray = {};
var myArray = new Array();
javascript
arrays
Auriculaire
la source
la source
myObject["someValue"]
oumyObject.someValue
. L'objet vide créé par{}
ne possède bien sûr pas ces propriétés, mais vous pouvez leur attribuer de la même manière:myObject.someValue = "hello!"
var a = new Array(5)
etvar b = [5]
, alorsa
≠b
(puisquea.length
= 5 whileb.length
= 1,a[0]
estundefined
whileb[0]
est 5, et ainsi de suite.)var a;
etvar a = {};
le même?var myObject = {};
équivaut à varmyObject = new Object();
Ainsi, le deuxième exemple n'est pas un
Array
mais un généralObject
.Cela peut prêter à confusion car
Array
une classe etObject
une classe - plus précisémentArray
une sous-classe deObject
. Donc, dans l'ensemble, laObject
sémantique est applicable à unArray
:la source
o['property1'] = 'property value'
, vous n'ajoutez pas réellement un élément au tableau, mais définissez une propriété de l' objet tableau . Confus? Je te l'ai dit;) En JavaScript, fondamentalement, tout est un objet. D' autres objets, commeArray
,RegExp
... étendent l'objet de base avec des fonctionnalités supplémentaires. Un objet simple et vide est créé avec les accoladesplain_obj = {}
.