Maison >interface Web >js tutoriel >Comment déterminer la classe d'un objet en JavaScript ?

Comment déterminer la classe d'un objet en JavaScript ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-06 08:34:10384parcourir

How Can You Determine the Class of an Object in JavaScript?

Comprendre la nature dynamique de JavaScript : déterminer les classes d'objets

Contrairement aux langages comme Java, JavaScript n'a pas d'équivalent direct au .getClass() de Java méthode en raison de sa conception unique basée sur un prototype. Cependant, il existe diverses techniques pour remplir des fonctionnalités similaires.

Options de détermination des classes d'objets en JavaScript :

  • typeof : Renvoie le type de données (par exemple, "objet", "fonction") d'un variable.
  • instanceof: Teste si un objet appartient à une classe spécifique ou en descend.
  • obj.constructor: Pointe vers la fonction constructeur qui a créé l'objet.
  • func.prototype, proto.isPrototypeOf : Permet la vérification de l'héritage en vérifiant si un prototype est le prototype d'un objet.

Exemples :

function Foo() {}
var foo = new Foo();

typeof Foo; // == "function"
typeof foo; // == "object"

foo instanceof Foo; // == true
foo.constructor.name; // == "Foo"
Foo.name // == "Foo"

Foo.prototype.isPrototypeOf(foo); // == true

Foo.prototype.bar = function (x) {return x+x;};
foo.bar(21); // == 42

Remarque : Les outils de minification comme Uglify peuvent modifier les noms de classes. Pour éviter cela dans les outils de build comme Gulp ou Grunt, définissez le paramètre --mangle sur false.

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