#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
будет строка, а не число.