Fonctionnement des méthodes de type intégré (Built-In Type Methods) en javaScript

Lorsqu’on utilise les méthodes de type intégré comme dans l’exemple suivant :

str = "Hello world!"

console.log(str.toUpperCase()); // HELLO WORLD!

On se rend compte qu’on appelle une méthode sur une variable de type string or on appelle une méthode uniquement sur un objet.

Pour que cela fonctionne javascript va effectuer une coercition implicite et remplacer “str” par un objet qu’on appelle “objet d’emballage” (wrapper object en anglais) et qui sera l’instance d’un objet String.

Cette objet contiendra toute les méthodes de type intégré.

Une fois l’appelle de la méthode de type intégré effectué, “l’objet d’emballage new String()” est détruit.

Comme le prouve l’exemple ci-dessous :

var str = 'Hello world!';
str.firstName = "John";
console.log(str.firstName); // undefined