Maison > interface Web > js tutoriel > Comment puis-je obtenir le nom de type d'un objet JavaScript ?

Comment puis-je obtenir le nom de type d'un objet JavaScript ?

DDD
Libérer: 2024-12-12 22:50:11
original
698 Les gens l'ont consulté

How Can I Get the Type Name of a JavaScript Object?

Obtenir le nom du type d'un objet

En JavaScript, il n'existe pas d'équivalent direct à la méthode class.getName() de Java pour récupérer le nom du type d'un objet. Cependant, diverses approches peuvent être utilisées à cette fin.

Utilisation de la propriété Constructor

La propriété constructeur d'un objet fait référence à sa fonction constructeur. Pour la plupart des objets, la propriété constructeur pointe vers la fonction constructeur utilisée pour créer l'objet.

var myArray = [1, 2, 3];
myArray.constructor == Array; // true
Copier après la connexion

Cependant, cette méthode a des limites :

  • Elle peut ne pas fonctionner pour les objets créé à l'aide de l'héritage multiple.
  • Il se peut que cela ne fonctionne pas sur différents objets de fenêtre (par exemple, dans iframes).

Utilisation de l'opérateur Instanceof

L'opérateur instanceof vérifie si un objet est une instance d'une fonction constructeur particulière.

myArray instanceof Array; // true
myArray instanceof Object; // true
Copier après la connexion

Cette méthode a également des limites :

  • Elle ne fonctionne pas pour les valeurs littérales (par exemple, des nombres, des chaînes).
  • Cela peut ne pas fonctionner sur différents objets de fenêtre.

Utilisation de la propriété Name de la propriété Constructor

À partir d'IE9, la propriété constructor.name d'un objet peut être utilisée pour récupérer le nom du constructeur fonction.

myArray.constructor.name; // "Array"
Copier après la connexion

Cependant, cette méthode n'est pas fiable dans les versions antérieures d'Internet Explorer.

Utilisation d'Object.prototype.toString

Le La méthode Object.prototype.toString renvoie une représentation sous forme de chaîne du type de l'objet.

Object.prototype.toString.call('abc'); // "[object String]"
Object.prototype.toString.call(/abc/); // "[object RegExp]"
Object.prototype.toString.call([1, 2, 3]); // "[object Array]"
Copier après la connexion

Cette méthode peut être utilisé pour obtenir le nom de type pour tous les types intégrés. Cependant, il renverra « Objet » pour tous les types définis par l'utilisateur.

Attention

Il est important de noter que le type d'un objet peut changer en fonction de la façon dont il est construit. Par exemple, si une fonction est définie de manière anonyme, sa propriété constructeur sera affectée à Anonyme.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal