Type primitifs en Javascript
Les 6 types de base du Javascript (Types primitifs)
En Javascript une
primitive (ou variable de type primitif) est une variable qui n'est pas objet. C'est à dire que c'est une variable à part entière qui ne dispose ni d'attributs ni de méthodes. Les types primitifs constituent les types de bases d'une structure de données en Javascript.
Il existe 6 type primitifs en Javascript, à savoir:
- Number (Nombres)
- String (Chaînes de caractères)
- Boolean (Type booléen)
- Undefined (Variables non définies)
- Null (Variables à valeur nulle)
- Symbol (Nouveau type primitif inclus en ES6)
Ces même type primitifs ont un correspondant sous forme d'objet (à l'exception de Null et undefined). Par exemple ces deux instructions permettent de définir une variable nommée
str en tant que chaîne de caractères:
str="Chaîne";
str=new String("Chaîne");
La différence c'est que la première variable est primitive alors la deuxième est un objet. Cependant, les deux peuvent être manipulées de la même manière à l'aide des
attributs est méthodes associés au prototype
String.
Les prototypes en Javascript
La particularité du Javascript, si on le compare avec d'autres langages de programmation qui supportent le paradigme objet, réside dans la manière avec laquelle il donne vie aux objets. En effet, en Javascript les objets sont créés à partir d'autres objets à travers le mécanisme du prototype. En effet, dans les langages de programmation orientée objet, on crée des structures nommées classes que l'on instancie afin de donner vie aux objets. Ces objets-là reprennent tous les attributs et méthodes qui ont été définis dans la classe en question. Par contre en Javascript, l'objet est créé, non pas à partir d'une classe, mais à partir d'un autre objet nommée prototype.
Mieux encore, les fonctions elles mêmes sont créées en Javascript à partir du prototype correspondant nommé
function, ce qui veut dire qu'une fonction en Javascript est aussi un objet. A titre d'exemple, essayez d'exécuter ce code et visualisez le résultat sur la console:
console.log(function(){})
En fait, nous avons juste essayé d'afficher à la console les informations relatives à une fonction anonyme. Cela donnera beaucoup d'informations et parmi eux, on peut distinguer le nom du prototype qui donne vie aux fonctions.
Je vous recommande cet article sur MDN Web Docs qui traite le sujet des
Prototypes Objets.