65 votes

Qu'est-ce que la notation littérale de tableau en javascript et quand devriez-vous l'utiliser?

JSLint me donne cette erreur:

Problème à la ligne 11, caractère 33: utilisez la notation littérale de tableau [].

 var myArray = new Array();
 

Qu'est-ce que la notation littérale de tableau et pourquoi veut-il que je l'utilise plutôt?

Cela montre ici que new Array(); devrait bien fonctionner ... y a-t-il quelque chose qui me manque?

94voto

CookieOfFortune Points 8635

La notation littérale d'un tableau est l'endroit où vous définissez un nouveau tableau en utilisant uniquement des crochets vides. Dans votre exemple:

 var myArray = [];
 

C'est la "nouvelle" façon de définir les tableaux, et je suppose que c'est plus court / plus propre.

23voto

ken Points 1925

Voir aussi: Quel est le problème avec var x = new Array();

En dehors de la Crockford argument, je crois que c'est aussi dû au fait que d'autres langues ont les mêmes structures de données qui utilisent la même syntaxe; par exemple, Python a les listes et les dictionnaires; voir les exemples suivants:

// this is a Python list
a = [66.25, 333, 333, 1, 1234.5]

// this is a Python dictionary
tel = {'jack': 4098, 'sape': 4139}

N'est-il pas soigné la façon Python est aussi grammaticalement correcte Javascript? (oui, la fin des points-virgules manquantes, mais ceux-là ne sont pas nécessaires pour le Javascript, soit)

Ainsi, grâce à la réutilisation des paradigmes communs dans la programmation, nous sauver tout le monde d'avoir à réapprendre quelque chose qui ne devrait pas avoir à le faire.

3voto

ecMode Points 313

En plus de l'argument de Crawford, jsPerf dit que c'est plus rapide. http://jsperf.com/new-vs-literal-array-declaration

0voto

Skeep Points 393

Après avoir examiné @ecMode jsperf, j'ai effectué d'autres tests.

Lorsque vous utilisez l'option push pour ajouter au tableau, nouvelle méthode Array () est considérablement plus rapide sous Chrome:

http://jsperf.com/new-vs-literal-array-declaration/2

L'utilisation de l'index à ajouter est légèrement plus rapide pour [].

Prograide.com

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.

Powered by:

X