Существует ли какой-либо прокси-метод, который позволяет объекту получать свойства по умолчанию

#javascript

#javascript

Вопрос:

Существует ли какой-либо прокси-метод, который позволяет объекту получать свойства по умолчанию, допустим, у меня есть объект

 var item = {
    Value: 123,
    MaxValue: 999,
    MinValue: 0
    }
  

Когда я использую var def= item , я могу вернуть значение item.Value (т. Е. def = 123 вместо объекта item), если к другим полям осуществляется обычный доступ

 var max = item.MaxValue;//999
var min = item.MinValue;//0
var val = item.Value;//123
var def = item; //123
  

Комментарии:

1. Я думаю, вам нужно переопределить = operator вместо использования прокси

Ответ №1:

Единственный способ сделать что-то подобное — это, например, принудительно преобразовать объект в строку:

 var item = {
  Value: 123,
  MaxValue: 999,
  MinValue: 0,
  toString() {
    return this.Value;
  }
};

var def = ''   item;
console.log(def);  

В противном случае у вас будет простая ссылка на объект, которая будет объектом, а не примитивом.

Конечно, обратите внимание, что при этом def будет строка, а не число.