Maison >interface Web >js tutoriel >Pourquoi a='abc' n'est pas égal à a=new String('abc')

Pourquoi a='abc' n'est pas égal à a=new String('abc')

小云云
小云云original
2018-01-03 10:58:522098parcourir

Cet article explique principalement pourquoi a="abc" n'est pas égal à a=new String("abc"). Les amis qui en ont besoin peuvent s'y référer. J'espère qu'il pourra aider tout le monde.

Évident


a="abc"
typeof a //string
b=new String("abc")
typeof b // object
a==b //true
a===b //false

Mais pourquoi ? J'ai lu beaucoup de livres et interrogé plusieurs experts, mais en fait, j'étais toujours confus. Enregistrez-le ici pour référence future.

En js, faites la distinction entre le type de données d'origine et le type d'emballage. Les nombres, les chaînes, Boolean, null et undefined sont des types de données primitifs, tandis que Number, String et Boolean sont des types d'empaquetage. Ce qui est créé via le nouveau Number est un objet dérivé du type d'empaquetage. Les deux ne sont donc pas égaux.

Le processus d'utilisation après affectation directe à un type de base est le suivant :

1 Créez une instance de type String

2. valeur spécifiée sur l'instance Méthodes

3. Détruire les instances

Exemple :


var a="123"
a.toFixed===Number.prototype.toFixed;

Voici une autre sorte de dicton : boxer, unboxing

La boxe consiste à utiliser cette classe de valeur pour construire un objet d'emballage correspondant


var a=10 ,b="javascript" , c=true;
  var o_a=new Number(a);
  var o_b=new String(b);
  var o_c=new Boolean(c);

Emballage Le rôle principal des boîtes est de traiter les valeurs comme des objets.

Le déballage consiste à convertir l'objet enveloppé en un type valeur


var a=10;
 var o_a=new Number(a);
 var b=o_a.valueOf();//这就是拆箱的过程。

Recommandations associées :

ajax Récupère les paramètres de retour de la page php, la méthode d'affectation du contrôle

Partage de l'identifiant d'affectation dynamique jquery et de la méthode de récupération de l'identifiant dynamique

Comment l'utiliser en php Attribuer une valeur au tableau js

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn