Хранение классов и объектов


Класс

Прежде всего, классы должны быть зарегистрированы перед использованием в Nucleoid:

class Order {
  constructor(item, qty) {
    this.item = item;
    this.qty = qty;
  }
}

nucleoid.register(Order);
Вход в полноэкранный режим Выход из полноэкранного режима

Объекты

То же самое для объектов, после инициирования и присвоения переменной var, а также ее сохранения.

app.post("/orders", () => {
  var order = new Order("ITEM-123", 3);
  return order;
});
Войти в полноэкранный режим Выйти из полноэкранного режима

и может получить по своей переменной var, как упоминалось ранее.

app.get("/orders", () => {
  return order;
});
Вход в полноэкранный режим Выход из полноэкранного режима
{
  "id": "order0",
  "item": "ITEM-123",
  "qty": 1
}
Войти в полноэкранный режим Выход из полноэкранного режима

если объект инициирован без присвоения переменной var, среда выполнения автоматически присвоит переменную var вместе с id.

app.post("/test", () => new Order("ITEM-123", 3));
Вход в полноэкранный режим Выход из полноэкранного режима
{
  "id": "order0",
  "item": "ITEM-123",
  "qty": 1
}
Войти в полноэкранный режим Выход из полноэкранного режима

💡 id объекта всегда совпадает с его глобальной var, так что любой из них может быть использован для извлечения объекта, например

если объект назначен либо let, либо const, среда выполнения создаст переменную var такую же, как его id.

app.post("/orders", () => {
  const order = new Order("ITEM-123", 3);
  return order;
});
Вход в полноэкранный режим Выход из полноэкранного режима
{
  "id": "order1",
  "item": "ITEM-123",
  "qty": 1
}
Войти в полноэкранный режим Выход из полноэкранного режима

Теперь он может использовать id как var для получения объекта

app.get("/test", () => order1);
Войти в полноэкранный режим Выход из полноэкранного режима

Оцените статью
devanswers.ru
Добавить комментарий