From 980fe00a74a9ad013b945755415ace2e5429c3c2 Mon Sep 17 00:00:00 2001 From: Alexey Pyltsyn Date: Wed, 27 Oct 2021 02:31:24 +0300 Subject: [RU] Remove notranslate (#2874) --- .../reference/global_objects/proxy/index.html | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'files/ru/web/javascript/reference/global_objects/proxy/index.html') diff --git a/files/ru/web/javascript/reference/global_objects/proxy/index.html b/files/ru/web/javascript/reference/global_objects/proxy/index.html index 12f1cfc36f..3611061bef 100644 --- a/files/ru/web/javascript/reference/global_objects/proxy/index.html +++ b/files/ru/web/javascript/reference/global_objects/proxy/index.html @@ -39,7 +39,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Proxy

Прокси - это новые объекты; невозможно выполнить "проксирование" существующего объекта. Пример создания прокси:

-
var p = new Proxy(target, handler);
+
var p = new Proxy(target, handler);
 

Где:

@@ -150,7 +150,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Proxy

Объект, возвращающий значение 37, в случае отсутствия свойства с указанным именем:

-
var handler = {
+
var handler = {
     get: function(target, name){
         return name in target?
             target[name] :
@@ -170,7 +170,7 @@ console.log('c' in p, p.c); // false, 37
 
 

В данном примере мы используем JavaScript объект, к которому наш прокси направляет все запросы:

-
var target = {};
+
var target = {};
 var p = new Proxy(target, {});
 
 p.a = 37; // операция перенаправлена прокси
@@ -182,7 +182,7 @@ console.log(target.a); // 37. Операция была успешно пере
 
 

При помощи Proxy вы можете легко проверять передаваемые объекту значения:

-
let validator = {
+
let validator = {
   set: function(obj, prop, value) {
     if (prop === 'age') {
       if (!Number.isInteger(value)) {
@@ -213,7 +213,7 @@ person.age = 300; // Вызовет исключение
 
 

Функция прокси может легко дополнить конструктор новым:

-
function extend(sup, base) {
+
function extend(sup, base) {
     var descriptor = Object.getOwnPropertyDescriptor(
         base.prototype, 'constructor',
     );
@@ -260,7 +260,7 @@ console.log(Peter.age); // 13
 
 

Иногда возникает необходимость переключить атрибут или имя класса у двух разных элементов:

-
let view = new Proxy({
+
let view = new Proxy({
   selected: null
 },
 {
@@ -293,7 +293,7 @@ console.log(i2.getAttribute('aria-selected')); // 'true'
 
 

Прокси объект products проверяет передаваемые значения и преобразует их в массив в случае необходимости. Объект также поддерживает дополнительное свойство latestBrowser на чтение и запись.

-
let products = new Proxy({
+
let products = new Proxy({
   browsers: ['Internet Explorer', 'Netscape']
 },
 {
@@ -336,7 +336,7 @@ console.log(products.latestBrowser); // 'Chrome'
 
 

Данный прокси расширяет массив дополнительными возможностями. Как вы видите, вы можете гибко "задавать" свойства без использования Object.defineProperties. Данный пример также может быть использован для поиска строки таблицы по её ячейке. В этом случае целью будет table.rows.

-
let products = new Proxy([
+
let products = new Proxy([
   { name: 'Firefox', type: 'browser' },
   { name: 'SeaMonkey', type: 'browser' },
   { name: 'Thunderbird', type: 'mailer' }
@@ -397,7 +397,7 @@ console.log(products.number); // 3
 
 

В данном примере, использующем все виды перехватчиков, мы попытаемся проксировать не нативный объект, который частично приспособлен для этого - docCookies, созданном в разделе "little framework" и опубликованном на странице document.cookie.

-
/*
+
/*
   var docCookies = ... получить объект "docCookies" можно здесь:
   https://developer.mozilla.org/en-US/docs/DOM/document.cookie#A_little_framework.3A_a_complete_cookies_reader.2Fwriter_with_full_unicode_support
 */
-- 
cgit v1.2.3-54-g00ecf