Les objets JavaScript sont des éléments fondamentaux du langage, fournissant un moyen de regrouper les données et fonctionnalités associées. Ils sont essentiels au travail avec des données structurées et constituent le fondement de la programmation orientée objet en JavaScript.
Un objet en JavaScript est une collection de propriétés, où chaque propriété a une clé (ou un nom) et une valeur. Les valeurs peuvent être de n'importe quel type de données, y compris d'autres objets ou fonctions.
const person = { name: "Alice", age: 30, greet: function () { console.log("Hello, " + this.name); } };
La manière la plus courante et la plus simple de créer des objets.
const car = { brand: "Tesla", model: "Model S", year: 2023 };
Crée un objet à l'aide du constructeur Object.
const book = new Object(); book.title = "JavaScript: The Good Parts"; book.author = "Douglas Crockford";
Constructeurs personnalisés pour créer des objets similaires.
function Person(name, age) { this.name = name; this.age = age; } const user = new Person("Bob", 25);
Syntaxe moderne pour la création d'objets à l'aide de classes ES6.
class Animal { constructor(type, sound) { this.type = type; this.sound = sound; } } const dog = new Animal("Dog", "Bark");
Vous pouvez accéder aux propriétés en utilisant :
console.log(person.name);
console.log(person["name"]);
person.hobby = "Reading"; // Adding a new property person.age = 31; // Updating an existing property
delete person.hobby;
Une méthode est une fonction associée à un objet.
const person = { name: "Alice", age: 30, greet: function () { console.log("Hello, " + this.name); } };
const car = { brand: "Tesla", model: "Model S", year: 2023 };
const book = new Object(); book.title = "JavaScript: The Good Parts"; book.author = "Douglas Crockford";
function Person(name, age) { this.name = name; this.age = age; } const user = new Person("Bob", 25);
class Animal { constructor(type, sound) { this.type = type; this.sound = sound; } } const dog = new Animal("Dog", "Bark");
console.log(person.name);
console.log(person["name"]);
Les objets peuvent contenir d'autres objets en tant que propriétés.
person.hobby = "Reading"; // Adding a new property person.age = 31; // Updating an existing property
Extraire les valeurs d'un objet vers des variables.
delete person.hobby;
const calculator = { add: function (a, b) { return a + b; }, subtract(a, b) { return a - b; // Shorthand syntax } }; console.log(calculator.add(5, 3));
console.log("name" in person); // true
JavaScript fournit de nombreuses méthodes statiques pour les objets.
Copie les propriétés d'un objet à un autre.
console.log(person.hasOwnProperty("age")); // true
Empêche les modifications d'un objet.
for (let key in person) { console.log(key, person[key]); }
Autorise les mises à jour mais empêche l'ajout ou la suppression de propriétés.
console.log(Object.keys(person));
Crée un nouvel objet avec un prototype spécifié.
console.log(Object.values(person));
Les objets sont stockés et manipulés par référence et non par valeur.
console.log(Object.entries(person));
const company = { name: "Tech Corp", address: { city: "San Francisco", zip: "94105" } }; console.log(company.address.city); // Access nested object
Les objets en JavaScript ont un prototype, permettant l'héritage des propriétés et des méthodes.
const { name, age } = person; console.log(name, age);
const newPerson = { ...person, gender: "Female" };
Représenter des entités du monde réel :
Les objets modélisent souvent des structures de données, comme les utilisateurs ou les produits.
Fonctions de regroupement :
Les objets peuvent servir de modules ou d'espaces de noms.
const person = { name: "Alice", age: 30, greet: function () { console.log("Hello, " + this.name); } };
Les objets JavaScript sont puissants et flexibles et constituent l'épine dorsale de la plupart des applications. Comprendre leurs fonctionnalités et capacités permet aux développeurs d'écrire du code efficace, maintenable et évolutif. La maîtrise des objets est une étape fondamentale pour maîtriser JavaScript.
Bonjour, je m'appelle Abhay Singh Kathayat !
Je suis un développeur full-stack avec une expertise dans les technologies front-end et back-end. Je travaille avec une variété de langages et de frameworks de programmation pour créer des applications efficaces, évolutives et conviviales.
N'hésitez pas à me contacter à mon e-mail professionnel : kaashshorts28@gmail.com.
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!