From 1386fed7d38652d5848d315927e7e23a66cffd13 Mon Sep 17 00:00:00 2001 From: Alexey Pyltsyn Date: Wed, 20 Oct 2021 13:28:52 +0300 Subject: [RU] Remove `name` attribute from headings (#2788) --- .../global_objects/object/assign/index.html | 32 +++++++++++----------- 1 file changed, 16 insertions(+), 16 deletions(-) (limited to 'files/ru/web/javascript/reference/global_objects/object/assign') diff --git a/files/ru/web/javascript/reference/global_objects/object/assign/index.html b/files/ru/web/javascript/reference/global_objects/object/assign/index.html index 354f4ce4e5..29e6ee2ae7 100644 --- a/files/ru/web/javascript/reference/global_objects/object/assign/index.html +++ b/files/ru/web/javascript/reference/global_objects/object/assign/index.html @@ -17,11 +17,11 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Object/assign

Метод Object.assign() используется для копирования значений всех собственных перечисляемых свойств из одного или более исходных объектов в целевой объект. После копирования он возвращает целевой объект.

-

Синтаксис

+

Синтаксис

Object.assign(target, ...sources)
-

Параметры

+

Параметры

target
@@ -30,11 +30,11 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Object/assign
Исходные объекты.
-

Возвращаемое значение

+

Возвращаемое значение

Возвращается получившийся целевой объект.

-

Описание

+

Описание

Метод Object.assign() копирует из исходных объектов в целевой объект только перечисляемые и собственные свойства. Он использует внутренний метод [[Get]] на исходных объектах и внутренний метод [[Set]] на целевом объекте, так что он также вызывает геттеры и сеттеры. Именно поэтому он присваивает свойства вместо простого копирования или определения новых свойств. Это поведение может сделать метод непригодным для вливания новых свойств в прототип, если вливаемые исходные объекты содержат геттеры. Вместо него для копирования в прототипы определений свойств, включая признак их перечисляемости, следует использовать методы {{jsxref("Object.getOwnPropertyDescriptor()")}} и {{jsxref("Object.defineProperty()")}}.

@@ -44,16 +44,16 @@ translation_of: Web/JavaScript/Reference/Global_Objects/Object/assign

Обратите внимание, что метод Object.assign() не выкидывает исключения, если в качестве исходных значений выступают {{jsxref("null")}} или {{jsxref("undefined")}}.

-

Примеры

+

Примеры

-

Пример: клонирование объекта

+

Пример: клонирование объекта

var obj = { a: 1 };
 var copy = Object.assign({}, obj);
 console.log(copy); // { a: 1 }
 
-

Пример: слияние объектов

+

Пример: слияние объектов

var o1 = { a: 1 };
 var o2 = { b: 2 };
@@ -64,7 +64,7 @@ console.log(obj); // { a: 1, b: 2, c: 3 }
 console.log(o1);  // { a: 1, b: 2, c: 3 }, изменился и сам целевой объект.
 
-

Пример: копирование символьных свойств

+

Пример: копирование символьных свойств

var o1 = { a: 1 };
 var o2 = { [Symbol('foo')]: 2 };
@@ -73,7 +73,7 @@ var obj = Object.assign({}, o1, o2);
 console.log(obj); // { a: 1, [Symbol("foo")]: 2 }
 
-

Пример: наследуемые и неперечисляемые свойства не копируются

+

Пример: наследуемые и неперечисляемые свойства не копируются

var obj = Object.create({ foo: 1 }, { // foo является унаследованным свойством.
   bar: {
@@ -89,7 +89,7 @@ var copy = Object.assign({}, obj);
 console.log(copy); // { baz: 3 }
 
-

Пример: примитивы оборачиваются в объекты

+

Пример: примитивы оборачиваются в объекты

var v1 = '123';
 var v2 = true;
@@ -102,7 +102,7 @@ var obj = Object.assign({}, v1, null, v2, undefined, v3, v4);
 console.log(obj); // { "0": "1", "1": "2", "2": "3" }
 
-

Пример: исключения прерывают текущую задачу копирования

+

Пример: исключения прерывают текущую задачу копирования

var target = Object.defineProperty({}, 'foo', {
   value: 1,
@@ -120,7 +120,7 @@ console.log(target.foo3); // undefined, метод assign завершился,
 console.log(target.baz);  // undefined, третий исходный объект так же не скопировался.
 
-

Пример: копирование методов доступа

+

Пример: копирование методов доступа

var obj = {
   foo: 1,
@@ -149,7 +149,7 @@ console.log(copy);
 // { foo:1, get bar() { return 2 } }
 
-

Полифил

+

Полифил

Этот полифил не поддерживает символьные свойства, поскольку ES5 всё равно не поддерживает символы:

@@ -186,7 +186,7 @@ console.log(copy); } -

Спецификации

+

Спецификации

@@ -203,13 +203,13 @@ console.log(copy);
-

Совместимость с браузерами

+

Совместимость с браузерами

 
{{Compat("javascript.builtins.Object.assign")}}
-

Смотрите также

+

Смотрите также