Maison >interface Web >js tutoriel >Notation basée sur un constructeur ou notation littérale sur un objet : quelle est la mémoire la plus efficace ?
Comparaison de la notation basée sur un constructeur et de la notation littérale d'objet
En JavaScript, les objets peuvent être créés en utilisant l'une ou l'autre syntaxe basée sur un constructeur (par exemple, un nouvel objet ()) ou notation littérale d'objet ({}).
Similitudes et Différences
Les deux approches aboutissent à la création d'un nouvel objet ; cependant, il existe une différence clé lorsque les méthodes sont impliquées.
Syntaxe basée sur le constructeur
À l'aide du mot-clé new, la syntaxe basée sur le constructeur crée une nouvelle instance d'un fonction (généralement connue sous le nom de fonction constructeur). Par exemple :
function Person(name) { this.name = name; } const person1 = new Person("John");
Cela crée un objet Personne avec une propriété de nom définie sur "John".
Notation littérale d'objet
Littéral d'objet la notation utilise des accolades pour définir un objet. Il permet la création directe d’un objet sans avoir besoin d’une fonction constructeur. Par exemple :
const person2 = { name: "Jane" };
Cela crée également un objet Personne avec une propriété de nom définie sur "Jane".
Définition de la méthode
Le significatif la différence survient lors de la définition des méthodes pour l'objet.
Basé sur un constructeur Syntaxe
Avec la syntaxe basée sur le constructeur, les méthodes sont définies dans la fonction constructeur elle-même. Par exemple :
function Person(name) { this.name = name; this.sayHello = function() { console.log(`Hello, my name is ${this.name}.`); } }
Notation littérale d'objet
Lors de l'utilisation de la notation littérale d'objet, des méthodes peuvent être ajoutées en utilisant la notation par points ou la notation par crochets. Par exemple :
const person2 = { name: "Jane", sayHello: function() { console.log(`Hello, my name is ${this.name}.`); } };
Efficacité de la mémoire
Le choix entre la notation basée sur le constructeur et la notation littérale d'objet dépend de la situation. La syntaxe basée sur un constructeur implique la création d'une nouvelle instance d'une fonction pour chaque objet, ce qui peut consommer beaucoup de mémoire. En revanche, la notation littérale d'objet partage les méthodes entre les objets, ce qui entraîne une meilleure efficacité de la mémoire, en particulier lorsqu'il s'agit de plusieurs objets ou d'un grand nombre de méthodes.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!