J.B. Dadet DIASOLUKA Luyalu Nzoyifuanga
JAVASCRIPT
(Programmation Internet)
VOL. V
+243 - 851278216 - 899508675 - 995624714 - 902263541 - 813572818
La dernière révision de ce texte est disponible sur CD.
CHAPITRE 5 : BREF APERÇU SUR LES OBJETS :
Les OBJETS en JS :
Les
OBJETS
sont un type de dones (ensemble dentités)
comportant leurs propres propriés, méthodes et dautres ob-
jets dont lobjet
prototype
. Cest une
collection
de données
(des paires de «
clés
[des « symboles »] auxquelles on a asso-
c ou assigné des
valeurs
»).
TYPES SIMPLES en JS :
Un autre type de données que les
objets
est les
PRIMI-
TIVES
(types simples vs objets [de haut-niveau]) :
Undefined, Null, Boolean
(qui n’a que deux valeurs :
true
ou
false
)
,
Number
(dont le
NaN
= Not A Number)
,
String
.
NOTE :
A
primitive value
is a datum that is represented directly at
the lowest level of the language implementation
(ECMA-262
Edition 5.1)
.
Quelques OBJECTS JS :
window | document | history | navigator | form
| ...
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-V
Bref aperçu sur les objets 2 / 40 mercredi, 31. octobre 2018
Quelques TYPES dObjects en JS :
Array | Boolean | Date | Error | Function | JSON
| Math | Number | Object | RegExp | String | Map
| Set | WeakMap | WeakSet | ...
Les OBJECTS JavaScript intrinsèques (built-in)
possé-
dant
la méthode « valueOf() » :
Array
Returns the array instance.
Boolean
The Boolean value.
Date
The stored time value in milliseconds since mid-
night, January 1, 1970 UTC.
Function
The function itself.
Number
The numeric value.
Object
The object itself. This is the default.
String
The string value.
Les OBJECTS JavaScript intrinsèques (built-in)
ne possé-
dant pas
la méthode « valueOf() » :
Math
et
Error
.
Les
objets JS
(ci-dessus) ne sont pas
objets DOM
(ci-
dessous) :
Anchor | document | Event | Form , Form Input |
Frame , Frameset , IFrame | Image | location |
navigator | Option et Select | Screen | Table ,
TableHeader , TableRow , TableData | window
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-V
Bref aperçu sur les objets 3 / 40 mercredi, 31. octobre 2018
Quelques comparaisons avec les objets :
var p = {}; // D
é
finition Hash object.
> p == 0 -> false // p n'a pas la valeur z
é
ro.
> p == null -> false // p n'est pas null
> p == undefined -> false // p n'est pas undefined
> p == "{}" -> false // p n'est pas string
> p == {} -> false // Deux pointeurs diff
é
rents
Quatre façons de créer un objet en JS :
1 Avec un constructeur que vous créez (objet-fonction),
2 Par assignation d'un littéral (Hash Literal ou object literal = litté-
ral d’objet).
3 Avec l’objet Object.
4 Avec la méthode Object.create()
1. Création d’objet-fonction :
Avec une fonction « constructeur » (=gabarit=modèle).
Un constructeur est une fonction comme les autres mais qui permet avec
l’opérateur new la création ET l’initialisation simultanée de toutes ou
quelques propriétés du nouvel objet créé (Réciproquement une fonction
est un objet comme les autres).
<script type="text/javascript"> "use strict";
let bool = new Boolean(true);
console.log(bool.valueOf()); // true
console.log(typeof bool); // object
let boolp1 = bool.toString();
console.log(boolp1); // true
console.log(typeof boolp1); // string
let boolp2 = toString(bool);
console.log(boolp2); // [object Undefined]
console.log(typeof boolp2); // string
console.log(boolp1==boolp2); // false
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-V
Bref aperçu sur les objets 4 / 40 mercredi, 31. octobre 2018
console.log(boolp1===boolp2); // false
</script>
Comme avec une fonction, on peut accéder directement aux variables
globales d’un constructeur, sauf l’opérateur « this »
La fonction « constructeur » est invoquée avec l’opérateur « new » et
pas directement. Un appel du constructeur sans l’opérateur « new » fait
un simple appel à sa fonction sans instanciation (création d’instance).
Toute fonction « constructeur » doit donc être appelée avec l’opérateur
« new » qui retourne un nouvel objet.
Notez l’opérateur « this », le point-virgule « ; » pour terminer la défini-
tion des propriétés, et le signe égale « = » pour initialiser les propriétés.
Quant à l’opérateur « this », sa signification varie selon les contextes :
1. « this » dans un constructeur représente l’objet et permet de finir
ses propriétés et méthodes.
2. « this » dans une référence à une des propriétés de l’instance d’un
objet déjà créé représente cet objet.
3 « this » vaut undefined dans les appels de fonctions stricts.
4. « this » représente le contexte de l'objet si la fonction est appelée
comme une méthode,...).
5. Dans un élément HTML, il représente l’élément contenant.
6. Dans une fonction, il représente l’objet window en mode standard,
mais n’est pas reconnu en mode « use strict; ».
7. Dans l’espace globale, il représente l’objet window.
8. Dans le bloc de sa définition :
J.D.B. DIASOLUKA Nz. Luyalu
JavaScript Tome-V
Bref aperçu sur les objets 5 / 40 mercredi, 31. octobre 2018
a) Avant le début d’une création d’objet : l’objet window.
b) Dès le début de la création : l’objet en cours de création.
«
this
» dans un objet appelé comme fonction ordinaire en mode stan-
dard (non strict) :
<script type="text/javascript">
var dObj = function(){
console.log (this);
return this;
};
// Appel de dObj() comme fonction
dObj();
</script>
Exécution :
Window file:///K:/DADET/PROGS/test.html
Window
dObj: function dObj()
[default properties]
__proto__: WindowPrototype { … }
«
this
» dans un objet appelé comme fonction ordinaire en mode «use
strict»; :
<script type="text/javascript">
"use strict";
var dObj = function(){
console.log (this);
return this;
};
// Appel de dObj() comme fonction
dObj();
</script>
Exécution :
1 / 40 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !