Метод handler.get() в JavaScript — это ловушка для получения значения свойства.
Синтаксис:
const p = new Proxy(target, {
get: function(target, property, receiver) {
}
});
Параметры: Этот метод принимает три параметра, как указано выше и описано ниже:
- Target (Цель): Этот параметр содержит целевой объект.
- Property (Собственность): Этот параметр содержит имя свойства, которое должно быть получено.
- Receiver (Приемник): Этот параметр содержит прокси — сервер или объект, который наследуется от прокси-сервера.
Возвращаемое значение: Этот метод возвращает любое значение.
Приведенные ниже примеры иллюстрируют метод handler.get() в JavaScript:
Пример 1:
<script>
const monster1 = {
string: 'Geeksforgeeks',
num: 334
};
const handler1 = {
get: function(target, prop, receiver) {
if (prop === 'string') {
return `${target.string.substr(0, 8)} ... Best portal!`;
} else {
return Reflect.get(...arguments);
}
}
};
const proxy1 = new Proxy(monster1, handler1);
console.log(proxy1.num);
console.log(proxy1.string);
console.log(proxy1.numstring);
const obj = new Proxy({}, {
get: function(target, property, receiver) {
console.log('Property : ' + property);
return 56.56;
}
});
console.log(obj.value);
</script>
Выход:
334
"Geeksfor ... Best portal!"
undefined
"Property : value"
56.56
Пример 2:
<script>
const obj = {};
Object.defineProperty(obj, 'a', {
configurable: false,
enumerable: false,
value: 10,
writable: false
});
const p = new Proxy(obj, {
get: function(target, property) {
return 10;
}
});
console.log(p.a);
var datalist = {
"vala": 32, "valb": 7 }
var get = new Proxy(
datalist, {
get: function(y, idx) {
return y[idx] * 11
}
}
)
for(var z in get) {
console.log(z +" : "+ get[z])
}
</script>
Выход:
10
"vala : 352"
"valb : 77"
Поддерживаемые браузеры: Браузеры, поддерживаемые методом handler.get (), перечислены ниже:
- Google Chrome 49 and above
- Edge 12 and above
- Firefox 18 and above
- Opera 36 and above
- Safari 10 and above