Как проверить, является ли значение классом в Node.js: методы и примеры

Чтобы проверить, является ли значение классом в Node.js, вы можете использовать различные методы. Вот несколько примеров:

  1. Оператор экземпляра:
    Оператор instanceofпроверяет, принадлежит ли объект определенному классу. Он возвращает true, если объект является экземпляром класса, и falseв противном случае. Вот пример:
class MyClass {}
const obj = new MyClass();
console.log(obj instanceof MyClass); // true
console.log(obj instanceof Object); // true
console.log(obj instanceof Array); // false
  1. Object.prototype.toString():
    Метод Object.prototype.toString()возвращает строковое представление типа объекта. Вы можете использовать его, чтобы проверить, является ли объект экземпляром определенного класса. Вот пример:
class MyClass {}
const obj = new MyClass();
console.log(Object.prototype.toString.call(obj) === '[object MyClass]'); // true
console.log(Object.prototype.toString.call(obj) === '[object Object]'); // true
console.log(Object.prototype.toString.call(obj) === '[object Array]'); // false

Оператор

  1. typeof:
    Оператор typeofвозвращает строку, указывающую тип операнда. Хотя он не может напрямую проверить, является ли значение классом, вы можете использовать его, чтобы проверить, является ли значение объектом, а затем дополнительно проверить его класс. Вот пример:
class MyClass {}
const obj = new MyClass();
console.log(typeof obj === 'object'); // true
if (typeof obj === 'object' && obj !== null) {
  console.log(obj.constructor.name === 'MyClass'); // true
}

Это всего лишь несколько методов проверки того, является ли значение классом в Node.js. В зависимости от вашего конкретного случая использования вы можете найти один метод более подходящим, чем другие. Не стесняйтесь выбирать тот, который лучше всего соответствует вашим потребностям.