Primitive
En JavaScript, une valeur primitive (ou type de donnée primitive) est une donnée qui n'est pas un objet et qui ne possède ni méthode ni une propriété. Il existe 7 types de données primitives :
La plupart du temps, une valeur primitive est représentée directement au niveau le plus bas de l'implémentation du langage.
Toutes les valeurs primitives sont immuables ; elles ne peuvent pas être modifiées. Il est important de ne pas confondre une valeur primitive elle-même avec une variable à laquelle une valeur primitive est assignée. La variable peut être réassignée à une nouvelle valeur, mais la valeur existante ne peut pas être modifiée comme le sont les objets, les tableaux ou les fonctions. Le langage ne propose pas d'utilitaires pour modifier les valeurs primitives.
Les valeurs primitives n'ont pas de méthodes mais se comportent comme si elles en avaient. Lorsqu'on accède à des propriétés sur des valeurs primitives, JavaScript encapsule automatiquement la valeur dans un objet enveloppe et accède à la propriété sur cet objet à la place. Par exemple, "toto".includes("f") crée implicitement un objet enveloppe String et appelle String.prototype.includes() sur cet objet. Ce comportement d'encapsulation automatique n'est pas observable dans le code JavaScript mais constitue un bon modèle mental pour comprendre divers comportements — par exemple, pourquoi la « mutation » des primitives ne fonctionne pas (car str.toto = 1 n'assigne pas la propriété toto à str lui-même, mais à un objet enveloppe éphémère).
Voir aussi
- Types de données JavaScript
- Type de donnée primitive (angl.)
- Termes associés du glossaire :