You are currently viewing JavaScript | handler.get() Method

JavaScript | handler.get() Method

Метод 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