Afin de faciliter le fonctionnement des valeurs de type de base, ECMAScript fournit également 3 types de référence spéciaux : Boolean, Number et String. Ces types sont similaires aux autres types de référence présentés dans ce chapitre, mais ont également un comportement spécial correspondant à leurs types de base respectifs. En fait, chaque fois qu'une valeur de type de base est lue, un objet du type wrapper de base correspondant sera créé en arrière-plan, nous permettant d'appeler certaines méthodes pour manipuler ces données. Exemple ci-dessous :
1. Créez une instance de type String
2. Appelez la méthode spécifiée sur l'instance
3. Détruisez cette instance.
La principale différence entre les types de référence et les types d'emballage de base est la durée de vie de l'objet. Les instances de types référence créées à l'aide de l'opérateur new restent en mémoire jusqu'à ce que le flux d'exécution quitte la portée actuelle. L'objet de type packaging de base créé automatiquement n'existe qu'au moment où une ligne de code est exécutée, puis est immédiatement détruit. Cela signifie que nous ne pouvons plus ajouter de propriétés et de méthodes aux valeurs de type primitif au moment de l'exécution. A titre d'exemple ci-dessous :
Bien sûr, vous pouvez appeler explicitement Boolean, Number et String pour créer des objets de types d'emballage de base. Cependant, vous ne devez le faire que lorsque cela est absolument nécessaire, car il est facile de perdre de vue si vous avez affaire à un type de wrapper de base ou si vous faites référence à une valeur d'un type de wrapper de base. L'appel de typeof sur une instance d'un type wrapper de base renvoie "object" et tous les objets du type wrapper de base sont convertis en la valeur booléenne true.
Le constructeur Object renverra également, comme une méthode d'usine, une instance du type de wrapper de base correspondant en fonction du type de valeur transmis. Par exemple :
Il convient de noter qu'utiliser new pour appeler le constructeur du type d'emballage de base est différent de l'appel direct de la fonction de transformation du même nom. Par exemple :
在這個例子中,變數number中保存的是基本型別的值25,而變數obj中保存的是Number的實例。
儘管我們不建議明確的創建基本包裝類型的對象,但它們操作基本類型值的能力還是相當重要的。而每個基本包裝類型都提供了操作對應值的便捷方法。
意思所述就是本文的全部內容了,希望大家能夠喜歡。