Tutoriel JavaScript

JS ACCUEIL Présentation de JS JS Où aller Sortie JS Déclarations JS Syntaxe JS Commentaires JS Variables JS JS Let Const JS Opérateurs JS Arithmétique JS Affectation JS Types de données JS Fonctions JavaScript Objets JS Événements JS Chaînes JS Méthodes de chaîne JS Recherche de chaîne JS Modèles de chaîne JS Numéros JS Méthodes de nombre JS Tableaux JS Méthodes de tableau JS Tri de tableau JS Itération de tableau JS Const tableau JS Dates JS Formats de date JS Méthodes d'obtention de date JS Méthodes de définition de date JS JS Mathématiques JS Aléatoire Booléens JS Comparaisons JS Conditions JS Commutateur JS Boucle JS pour Boucle JS pour dans Boucle JS pour de Boucle JS pendant Pause JS Itérables JS Ensembles JS Cartes JS Type de JS Conversion de type JS JS au niveau du bit JS RegExp Erreurs JS Portée JS JS Levage Mode JS strict JS ce mot clé Fonction flèche JS Cours JS JSJSON Débogage JS Guide de style JS Meilleures pratiques JS Erreurs JS Performances JS Mots réservés JS

Versions JavaScript

Versions JavaScript JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE / Edge Historique JS

Objets JS

Définitions d'objet Propriétés de l'objet Méthodes d'objet Affichage d'objet Accesseurs d'objet Constructeurs d'objets Prototypes d'objets Itérables d'objet Ensembles d'objets Cartes d'objets Référence d'objet

Fonctions JavaScript

Définitions des fonctions Paramètres de fonction Appel de fonction Appel de fonction Fonction Appliquer Fermetures de fonction

Cours JS

Introduction de classe Héritage de classe Classe Statique

JS asynchrone

Rappels JS JS asynchrone JS promet JS asynchrone/en attente

JS HTML DOM

Introduction DOM Méthodes DOM Documents DOM Éléments DOM HTML DOM Formulaires DOM DOM CSS Animations DOM Événements DOM Écouteur d'événements DOM Navigation DOM Nœuds DOM Collections DOM Listes de nœuds DOM

Nomenclature du navigateur JS

Fenêtre JS Écran JavaScript Emplacement JS Historique JS Navigateur JS Alerte contextuelle JS Calendrier JS Cookies JavaScript

API Web JS

Présentation de l'API Web API des formulaires Web API d'historique Web API de stockage Web API de travail Web API de récupération Web API de géolocalisation Web

JS AJAX

Introduction à AJAX AJAX XMLHttp Requête AJAX Réponse AJAX Fichier XML AJAX PHP AJAX ASP AJAX Base de données AJAX Applications AJAX Exemples AJAX

JSJSON

Présentation JSON Syntaxe JSON JSON contre XML Types de données JSON Analyse JSON Chaîne JSON Objets JSON Tableaux JSON Serveur JSON JSON PHP HTML JSON JSON JSONP

JS contre jQuery

Sélecteurs jQuery jQuery HTML jQuery CSS jQuery DOM

Graphiques JS

Graphiques JS Canevas JS JS Complot JS Chart.js Graphique Google JS JS D3.js

Exemples JS

Exemples JS JS HTML DOM Entrée HTML JS Objets HTML JS Événements HTML JS Navigateur JS Éditeur JavaScript Exercices JS Questionnaire JS Certificat JS

Références JavaScript

Objets JavaScript Objets DOM HTML


Objets JavaScript


En JavaScript, les objets sont rois. Si vous comprenez les objets, vous comprenez JavaScript.


En JavaScript, presque "tout" est un objet.

  • Les booléens peuvent être des objets (si définis avec le newmot clé)
  • Les nombres peuvent être des objets (si définis avec le mot- newclé)
  • Les chaînes peuvent être des objets (si définis avec le mot- newclé)
  • Les dates sont toujours des objets
  • Les mathématiques sont toujours des objets
  • Les expressions régulières sont toujours des objets
  • Les tableaux sont toujours des objets
  • Les fonctions sont toujours des objets
  • Les objets sont toujours des objets

Toutes les valeurs JavaScript, à l'exception des primitives, sont des objets.


Primitives JavaScript

Une valeur primitive est une valeur qui n'a ni propriétés ni méthodes.

Un type de données primitif est une donnée qui a une valeur primitive.

JavaScript définit 5 types de types de données primitifs :

  • string
  • number
  • boolean
  • null
  • undefined

Les valeurs primitives sont immuables (elles sont codées en dur et ne peuvent donc pas être modifiées).

si x = 3,14, vous pouvez modifier la valeur de x. Mais vous ne pouvez pas modifier la valeur de 3.14.

ValeurTaperCommenter
"Bonjour"chaîne de caractères"Bonjour" est toujours "Bonjour"
3.14numéro3.14 est toujours 3.14
vraibooléenvrai est toujours vrai
fauxbooléenfaux est toujours faux
nulnul (objet)null est toujours nul
indéfiniindéfiniindéfini est toujours indéfini

Les objets sont des variables

Les variables JavaScript peuvent contenir des valeurs uniques :

Exemple

let person = "John Doe";

Les variables JavaScript peuvent également contenir de nombreuses valeurs.

Les objets sont aussi des variables. Mais les objets peuvent contenir de nombreuses valeurs.

Les valeurs d'objet sont écrites sous la forme de paires nom : valeur (nom et valeur séparés par deux points).

Exemple

let person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};

Un objet JavaScript est une collection de valeurs nommées

Il est courant de déclarer des objets avec le mot- constclé.

Exemple

const person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};


Propriétés de l'objet

Les valeurs nommées, dans les objets JavaScript, sont appelées properties .

Propriété Valeur
Prénom Jean
nom de famille Biche
âge 50
couleur des yeux bleu

Les objets écrits sous forme de paires nom-valeur sont similaires à :

  • Tableaux associatifs en PHP
  • Dictionnaires en Python
  • Tables de hachage en C
  • Cartes de hachage en Java
  • Hachages en Ruby et Perl

Méthodes d'objet

Les méthodes sont des actions qui peuvent être effectuées sur des objets.

Les propriétés d'objet peuvent être à la fois des valeurs primitives, d'autres objets et des fonctions.

Une méthode d'objet est une propriété d'objet contenant une définition de fonction .

Propriété Valeur
Prénom Jean
nom de famille Biche
âge 50
couleur des yeux bleu
nom complet function() {retourner this.firstName + " " + this.lastName ;}

Les objets JavaScript sont des conteneurs pour des valeurs nommées, appelées propriétés et méthodes.

Vous en apprendrez plus sur les méthodes dans les chapitres suivants.


Création d'un objet JavaScript

Avec JavaScript, vous pouvez définir et créer vos propres objets.

Il existe différentes manières de créer de nouveaux objets :

  • Créez un objet unique à l'aide d'un littéral d'objet.
  • Créez un seul objet, avec le mot-clé new.
  • Définissez un constructeur d'objet, puis créez des objets du type construit.
  • Créez un objet à l'aide de Object.create().

Utilisation d'un littéral d'objet

C'est le moyen le plus simple de créer un objet JavaScript.

À l'aide d'un littéral d'objet, vous définissez et créez à la fois un objet dans une seule instruction.

Un objet littéral est une liste de paires nom:valeur (comme age:50) à l'intérieur d'accolades {}.

L'exemple suivant crée un nouvel objet JavaScript avec quatre propriétés :

Exemple

const person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};

Les espaces et les sauts de ligne ne sont pas importants. Une définition d'objet peut s'étendre sur plusieurs lignes :

Exemple

const person = {
  firstName: "John",
  lastName: "Doe",
  age: 50,
  eyeColor: "blue"
};

Cet exemple crée un objet JavaScript vide, puis ajoute 4 propriétés :

Exemple

const person = {};
person.firstName = "John";
person.lastName = "Doe";
person.age = 50;
person.eyeColor = "blue";

Utilisation du mot-clé JavaScript new

L'exemple suivant crée un nouvel objet JavaScript à l'aide new Object()de , puis ajoute 4 propriétés :

Exemple

const person = new Object();
person.firstName = "John";
person.lastName = "Doe";
person.age = 50;
person.eyeColor = "blue";

Les exemples ci-dessus font exactement la même chose.

Mais il n'est pas nécessaire d'utiliser new Object().

Pour la lisibilité, la simplicité et la vitesse d'exécution, utilisez la méthode littérale d'objet.


Les objets JavaScript sont mutables

Les objets sont mutables : ils sont adressés par référence, et non par valeur.

Si personne est un objet, l'instruction suivante ne créera pas de copie de personne :

const x = person;  // Will not create a copy of person.

L'objet x n'est pas une copie de personne. C'est personne . x et person sont le même objet.

Toute modification apportée à x modifiera également la personne, car x et la personne sont le même objet.

Exemple

const person = {
  firstName:"John",
  lastName:"Doe",
  age:50, eyeColor:"blue"
}

const x = person;
x.age = 10;      // Will change both x.age and person.age