Array : méthode of()
Baseline
Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis septembre 2015.
La méthode statique Array.of() crée une nouvelle instance de Array à partir d'un nombre variable d'arguments, quel que soit le nombre ou le type des arguments.
Exemple interactif
console.log(Array.of("foo", 2, "bar", true));
// Résultat attendu : Array ["foo", 2, "bar", true]
console.log(Array.of());
// Résultat attendu : Array []
Syntaxe
Array.of()
Array.of(element1)
Array.of(element1, element2)
Array.of(element1, element2, /* …, */ elementN)
Paramètres
element1, …,elementN-
Éléments utilisés pour créer le tableau.
Valeur de retour
Une nouvelle instance de Array.
Description
La différence entre Array.of() et le constructeur Array() réside dans la gestion d'un seul argument : Array.of(7) crée un tableau avec un seul élément, 7, tandis que Array(7) crée un tableau vide avec une propriété length de 7. (Cela signifie un tableau de 7 cases vides, et non des cases contenant réellement la valeur undefined.)
Array.of(7); // [7]
Array(7); // tableau de 7 cases vides
Array.of(1, 2, 3); // [1, 2, 3]
Array(1, 2, 3); // [1, 2, 3]
La méthode Array.of() est une méthode de fabrique générique. Par exemple, si une sous-classe de Array hérite de la méthode of(), la méthode héritée retournera de nouvelles instances de la sous-classe au lieu d'instances de Array. En fait, la valeur de this peut être n'importe quelle fonction constructeur qui accepte un seul argument représentant la longueur du nouveau tableau, et le constructeur sera appelé avec le nombre d'arguments passés à of(). La propriété finale length sera à nouveau définie une fois que tous les éléments auront été assignés. Si la valeur de this n'est pas une fonction constructeur, le constructeur natif Array est utilisé à la place.
Exemples
>Utiliser Array.of()
Array.of(1); // [1]
Array.of(1, 2, 3); // [1, 2, 3]
Array.of(undefined); // [undefined]
Appeler of() sur des constructeurs qui ne sont pas des tableaux
La méthode of() peut être appelée sur n'importe quelle fonction constructeur qui accepte un seul argument représentant la longueur du nouveau tableau.
function NotArray(len) {
console.log("NotArray appelé avec la longueur", len);
}
console.log(Array.of.call(NotArray, 1, 2, 3));
// NotArray appelé avec la longueur 3
// NotArray { '0': 1, '1': 2, '2': 3, length: 3 }
console.log(Array.of.call(Object)); // [Number: 0] { length: 0 }
Lorsque la valeur de this n'est pas un constructeur, un objet Array standard est retourné.
console.log(Array.of.call({}, 1)); // [ 1 ]
Spécifications
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-array.of> |
Compatibilité des navigateurs
Chargement…
Voir aussi
- Guide des collections indexées
- L'objet global
Array - Le constructeur
Array() - La méthode
Array.from() - La méthode
TypedArray.of() - Prothèse d'émulation de
Array.ofdanscore-js(angl.) - Prothèse d'émulation es-shims de
Array.of(angl.)