Skip to content

Commit bd6bd10

Browse files
authored
Translate article
Line 305 needs more attention
1 parent 826d1a7 commit bd6bd10

1 file changed

Lines changed: 22 additions & 22 deletions

File tree

  • 1-js/07-object-properties/01-property-descriptors

1-js/07-object-properties/01-property-descriptors/article.md

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -272,11 +272,11 @@ Object.defineProperty(user, "name", { value: "Pete" });
272272
ما می‌توانیم برای یک ویژگی غیر قابل تنظیم `writable: true` را به `false` تغییر دهیم و به این ترتیب از تغییر مقدار آن جلوگیری کنیم (تا لایه‌ای دیگر از حفاظت را اضافه کنیم). اما برعکس آن ممکن نیست.
273273
```
274274

275-
## Object.defineProperties
275+
## متد Object.defineProperties
276276

277-
There's a method [Object.defineProperties(obj, descriptors)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperties) that allows to define many properties at once.
277+
یک متد [Object.defineProperties(obj, descriptors)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperties) وجود دارد که امکان توصیف چند ویژگی با هم را ایجاد می‌کند.
278278

279-
The syntax is:
279+
سینتکس آن:
280280

281281
```js
282282
Object.defineProperties(obj, {
@@ -286,7 +286,7 @@ Object.defineProperties(obj, {
286286
});
287287
```
288288

289-
For instance:
289+
برای مثال:
290290

291291
```js
292292
Object.defineProperties(user, {
@@ -296,54 +296,54 @@ Object.defineProperties(user, {
296296
});
297297
```
298298

299-
So, we can set many properties at once.
299+
پس ما می‌توانیم چند ویژگی را یک‌باره تنظیم کنیم.
300300

301-
## Object.getOwnPropertyDescriptors
301+
## متد Object.getOwnPropertyDescriptors
302302

303-
To get all property descriptors at once, we can use the method [Object.getOwnPropertyDescriptors(obj)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertyDescriptors).
303+
برای گرفتن تمام توصیف‌کننده‌های ویژگی با هم، می‌توانیم از متد [Object.getOwnPropertyDescriptors(obj)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertyDescriptors) استفاده کنیم.
304304

305-
Together with `Object.defineProperties` it can be used as a "flags-aware" way of cloning an object:
305+
این متد همراه با `Object.defineProperties` می‌تواند به عنوان راهی «آگاه از پرچم‌ها» برای کپی کردن یک شیء استفاده شود:
306306

307307
```js
308308
let clone = Object.defineProperties({}, Object.getOwnPropertyDescriptors(obj));
309309
```
310310

311-
Normally when we clone an object, we use an assignment to copy properties, like this:
311+
طبیعتا زمانی که ما یک شیء را کپی می‌کنیم، از عملگر مقداردهی برای کپی کردن ویژگی‌ها استفاده می‌کنیم، مانند اینجا:
312312

313313
```js
314314
for (let key in user) {
315315
clone[key] = user[key]
316316
}
317317
```
318318

319-
...But that does not copy flags. So if we want a "better" clone then `Object.defineProperties` is preferred.
319+
...اما این روش پرچم‌ها را کپی نمی‌کند. پس اگر ما کپی‌برداری «بهتری» بخواهیم `Object.defineProperties` ترجیح داده می‌شود.
320320

321-
Another difference is that `for..in` ignores symbolic properties, but `Object.getOwnPropertyDescriptors` returns *all* property descriptors including symbolic ones.
321+
تفاوتی دیگر این است که `for..in` ویژگی‌های سمبلی (symbolic) را نادیده می‌گیرد، اما `Object.getOwnPropertyDescriptors` *تمام* توصیف‌کننده‌های ویژگی‌ها را برمی‌گرداند که شامل ویژگی‌های سمبلی هم می‌شود.
322322

323-
## Sealing an object globally
323+
## مهر و موم کردن شیء به طور کلی
324324

325-
Property descriptors work at the level of individual properties.
325+
توصیف‌کننده‌های ویژگی‌ها با ویژگی‌های جداگانه کار می‌کنند.
326326

327-
There are also methods that limit access to the *whole* object:
327+
متدهایی هم هستند که دسترسی به *کل* شیء را محدود می‌کنند:
328328

329329
[Object.preventExtensions(obj)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/preventExtensions)
330-
: Forbids the addition of new properties to the object.
330+
: اضافه کردن ویژگی جدید به شیء را ممنون می‌کند.
331331

332332
[Object.seal(obj)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/seal)
333-
: Forbids adding/removing of properties. Sets `configurable: false` for all existing properties.
333+
: اضافه/حذف کردن ویژگی را ممنون می‌کند. `configurable: false` را برای تمام ویژگی‌های موجود تنظیم می‌کند.
334334

335335
[Object.freeze(obj)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze)
336-
: Forbids adding/removing/changing of properties. Sets `configurable: false, writable: false` for all existing properties.
336+
: اضافه/حذف/تغییر دادن ویژگی‌ها را ممنوع می‌کند. `configurable: false, writable: false` را برای تمام ویژگی‌های موجود تنظیم می‌کند.
337337

338-
And also there are tests for them:
338+
همچنین آزمایش‌هایی هم برای آن‌ها وجود دارد:
339339

340340
[Object.isExtensible(obj)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isExtensible)
341-
: Returns `false` if adding properties is forbidden, otherwise `true`.
341+
: اگر اضافه کردن ویژگی ممنوع باشد `false` برمی‌گرداند، در غیر این صورت `true`.
342342

343343
[Object.isSealed(obj)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isSealed)
344-
: Returns `true` if adding/removing properties is forbidden, and all existing properties have `configurable: false`.
344+
: اگر اضافه/حذف کردن ویژگی ممنوع باشد و تمام ویژگی‌های موجود `configurable: false` را داشته باشند `true` برمی‌گرداند.
345345

346346
[Object.isFrozen(obj)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isFrozen)
347-
: Returns `true` if adding/removing/changing properties is forbidden, and all current properties are `configurable: false, writable: false`.
347+
: اگر اضافه/حذف/تغییر دادن ویژگی‌ها ممنوع باشد و تمام ویژگی‌ها `configurable: false, writable: false` را داشته باشند `true` برمی‌گرداند.
348348

349-
These methods are rarely used in practice.
349+
این متدها به ندرت در عمل استفاده می‌شوند.

0 commit comments

Comments
 (0)