Node.js est un langage de programmation backend très populaire qui peut être utilisé pour écrire des applications Web, des serveurs Web, des applications en ligne de commande, etc. Dans Node.js, nous avons souvent besoin d'obtenir certaines de ses propriétés ou méthodes en analysant l'objet transmis, il est donc également très important d'obtenir le nom de l'objet. Ensuite, cet article présentera plusieurs méthodes pour obtenir le nom de l'objet.
En JavaScript, vous pouvez utiliser le mot-clé typeof pour obtenir le type d'une variable, et les objets ne font pas exception. Nous pouvons utiliser l'opérateur typeof pour déterminer si un objet est un type d'objet. Si tel est le cas, nous pouvons utiliser sa méthode toString pour obtenir le nom de l'objet.
var obj = {name:'Node.js'}; console.log(typeof obj); // 输出 "object" console.log(obj.toString()); // 输出 "[object Object]"
Comme le montre le code ci-dessus, l'opérateur typeof est utilisé pour déterminer que le type d'obj est objet. Le nom de classe d'obj est Object, donc son résultat de sortie est "[object Object]".
En plus d'utiliser directement le mot-clé typeof pour déterminer le type d'objet, nous pouvons également encapsuler le processus d'obtention du nom de l'objet en encapsulant une couche de fonctions pour rendre le code plus lisible et concis.
function getObjectName(obj) { return Object.prototype.toString.call(obj).slice(8, -1); } var obj = {name:'Node.js'}; console.log(getObjectName(obj)); //输出 "Object"
La fonction getObjectName ci-dessus encapsule le processus d'obtention du nom de l'objet. Nous lui passons un objet obj. Elle obtient d'abord le nom de la classe à laquelle obj appartient via Object.prototype.toString.call(obj), puis obtient le nom de la classe à laquelle obj appartient. nom de classe via la méthode slice. La sous-chaîne de la chaîne est le nom de l'objet que nous voulons.
En JavaScript, chaque fonction a un attribut constructeur, grâce auquel nous pouvons obtenir le constructeur de la fonction, afin que nous puissions obtenir le nom de l'objet via l'attribut constructeur de l'objet. Voici un exemple :
function Person(name, age) { this.name = name; this.age = age; } var p = new Person('Tom', 18); console.log(p.constructor.name); // 输出 "Person"
Dans le code ci-dessus, nous définissons une fonction Person, puis créons un objet p via le nouveau mot-clé. Ensuite, nous pouvons obtenir le nom du constructeur de l'objet via p.constructor.name. Personne".
Il est très simple d'utiliser l'attribut constructeur pour obtenir le nom de l'objet, mais veuillez noter que cette méthode n'est applicable qu'aux objets créés via le constructeur et n'est pas valable pour les objets généraux.
La méthode Object.keys() peut obtenir le nom des propres attributs d'un objet, si nous connaissons déjà le nom de l'attribut d'un objet, alors nous pouvons obtenir le nom de l'attribut de l'objet. via le nom de l'attribut. La valeur de l'attribut, obtenant ainsi le nom de l'objet. Par exemple :
var obj = { name: "Tom", age: 18 }; var propName = Object.keys(obj)[0]; console.log(propName); // 输出 "name" console.log(obj[propName]); // 输出 "Tom"
Dans le code ci-dessus, nous utilisons d'abord la méthode Object.keys() pour obtenir le tableau de noms d'attribut de l'objet obj, puis nous utilisons l'indice du tableau pour obtenir le nom du premier attribut (c'est-à-dire " name"). Utilisez ensuite obj["name"] pour obtenir la valeur de l'attribut (c'est-à-dire "Tom").
Il convient de noter que cette méthode ne s'applique que lorsque l'objet n'a qu'un seul attribut. Si l'objet a plusieurs attributs, le nom de l'objet ne peut pas être obtenu avec précision.
La méthode Object.prototype.toString() peut renvoyer une représentation sous forme de chaîne d'un objet. La méthode spécifique est similaire à la façon dont l'opérateur typeof obtient le nom de l'objet. Nous pouvons également l'utiliser pour obtenir le nom d'un objet.
var obj = {name: "Node.js"}; console.log(Object.prototype.toString.call(obj)); // 输出 "[object Object]"
Dans le code ci-dessus, nous obtenons la représentation sous forme de chaîne de l'objet via Object.prototype.toString.call(obj), puis nous pouvons analyser le nom de l'objet à partir de la chaîne.
Il est à noter que cette méthode n'est également applicable que lorsque l'objet n'a qu'un seul attribut.
Dans la programmation Node.js, nous avons souvent besoin d'obtenir le nom de l'objet. Cet article présente quatre méthodes couramment utilisées pour obtenir le nom de l'objet :
Vous devez choisir la méthode appropriée en fonction de la situation spécifique pour obtenir le meilleur effet d'utilisation. J'espère que cet article vous sera utile.
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!