From 9d75684208edfa92ae3bc924aa39de1c8698c755 Mon Sep 17 00:00:00 2001 From: Kr-Abdou <120276895+Kr-Abdou@users.noreply.github.com> Date: Sat, 13 Apr 2024 17:03:47 +0000 Subject: [PATCH 1/2] Update article.md translate some paragraphs --- 1-js/08-prototypes/01-prototype-inheritance/article.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/1-js/08-prototypes/01-prototype-inheritance/article.md b/1-js/08-prototypes/01-prototype-inheritance/article.md index 0db392e7f..ea051bb22 100644 --- a/1-js/08-prototypes/01-prototype-inheritance/article.md +++ b/1-js/08-prototypes/01-prototype-inheritance/article.md @@ -10,7 +10,7 @@ _الوراثة النموذجية_ (تدعى أيضًا الوراثة عبر لكائنات جافا سكريبت خاصية مخفية أخرى باسم `[[Prototype]]` (هذا اسمها في المواصفات القياسية للغة جافا سكريبت)، وهي إمّا أن تكون `null` أو أن تشير إلى كائن آخر. نسمّي هذا الكائن بِـ”prototype“ (نموذج أولي). -When we read a property from `object`, and it's missing, JavaScript automatically takes it from the prototype. In programming, such thing is called "prototypal inheritance". And soon we'll study many examples of such inheritance, as well as cooler language features built upon it. +عند قراءة خاصية من `كائن` وتعذر وجودها، يقوم JavaScript تلقائيًا بأخذها من النموذج الأصلي. في البرمجة، يُطلق على مثل هذا الأمر "الوراثة النمطية". وقريبًا سندرس العديد من الأمثلة على هذه الوراثة، بالإضافة إلى ميزات لغوية أكثر إثارة تستند عليها. إن كائن النموذج الأولي ”سحريٌ“ إن صحّ القول، فحين نريد قراءة خاصية من كائن `object` ولا يجدها محرّك جافا سكريبت، يأخذها تلقائيًا من كائن النموذج الأولي لذاك الكائن. يُسمّى هذا في علم البرمجة ”بالوراثة النموذجية“ (‏Prototypal inheritance)، وهناك العديد من المزايا الرائعة في اللغة وفي التقنيات البرمجية مبنية عليها. @@ -31,8 +31,7 @@ rabbit.__proto__ = animal; // sets rabbit.[[Prototype]] = animal */!* ``` -Now if we read a property from `rabbit`, and it's missing, JavaScript will automatically take it from `animal`. - +الآن إذا قرأنا خاصية من `rabbit`، ولم تكن موجودة، سيقوم JavaScript تلقائيًا بأخذها من `animal`. ```js let animal = { eats: true @@ -120,9 +119,9 @@ alert(longEar.jumps); // true (from rabbit) ![](proto-animal-rabbit-chain.svg) -Now if we read something from `longEar`, and it's missing, JavaScript will look for it in `rabbit`, and then in `animal`. +الآن إذا قرأنا شيئًا من `longEar`، ولم يتم العثور عليه، سيبحث JavaScript عنه أولاً في `rabbit`، ثم في `animal`. -There are only two limitations: +هناك فقط حدْان: ومن الواضح جليًا أيضًا أي كائن سيرث كائن `[[Prototype]]` واحد وواحد فقط، لا يمكن للكائن وراثة كائنين. From 16d30abb1d33c05e615594744d6e367f41bf58b2 Mon Sep 17 00:00:00 2001 From: Kr-Abdou <120276895+Kr-Abdou@users.noreply.github.com> Date: Tue, 16 Apr 2024 09:14:58 +0100 Subject: [PATCH 2/2] Update article.md make the requested changes --- 1-js/08-prototypes/01-prototype-inheritance/article.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/1-js/08-prototypes/01-prototype-inheritance/article.md b/1-js/08-prototypes/01-prototype-inheritance/article.md index ea051bb22..3a67fc390 100644 --- a/1-js/08-prototypes/01-prototype-inheritance/article.md +++ b/1-js/08-prototypes/01-prototype-inheritance/article.md @@ -10,7 +10,7 @@ _الوراثة النموذجية_ (تدعى أيضًا الوراثة عبر لكائنات جافا سكريبت خاصية مخفية أخرى باسم `[[Prototype]]` (هذا اسمها في المواصفات القياسية للغة جافا سكريبت)، وهي إمّا أن تكون `null` أو أن تشير إلى كائن آخر. نسمّي هذا الكائن بِـ”prototype“ (نموذج أولي). -عند قراءة خاصية من `كائن` وتعذر وجودها، يقوم JavaScript تلقائيًا بأخذها من النموذج الأصلي. في البرمجة، يُطلق على مثل هذا الأمر "الوراثة النمطية". وقريبًا سندرس العديد من الأمثلة على هذه الوراثة، بالإضافة إلى ميزات لغوية أكثر إثارة تستند عليها. +عند قراءة خاصية من `كائن` وتعذر وجودها، تقوم جافا سكريبت تلقائيًا بأخذها من النموذج الأصلي. في البرمجة، يُطلق على مثل هذا الأمر "الوراثة النمطية" ("Prototypal inheritance"). وقريبًا سندرس العديد من الأمثلة على هذه الوراثة، بالإضافة إلى ميزات لغوية أكثر إثارة تستند عليها. إن كائن النموذج الأولي ”سحريٌ“ إن صحّ القول، فحين نريد قراءة خاصية من كائن `object` ولا يجدها محرّك جافا سكريبت، يأخذها تلقائيًا من كائن النموذج الأولي لذاك الكائن. يُسمّى هذا في علم البرمجة ”بالوراثة النموذجية“ (‏Prototypal inheritance)، وهناك العديد من المزايا الرائعة في اللغة وفي التقنيات البرمجية مبنية عليها. @@ -31,7 +31,7 @@ rabbit.__proto__ = animal; // sets rabbit.[[Prototype]] = animal */!* ``` -الآن إذا قرأنا خاصية من `rabbit`، ولم تكن موجودة، سيقوم JavaScript تلقائيًا بأخذها من `animal`. +الآن إذا قرأنا خاصية من `rabbit`، ولم تكن موجودة، ستقوم جافاسكريبت تلقائيًا بأخذها من `animal`. ```js let animal = { eats: true @@ -119,7 +119,7 @@ alert(longEar.jumps); // true (from rabbit) ![](proto-animal-rabbit-chain.svg) -الآن إذا قرأنا شيئًا من `longEar`، ولم يتم العثور عليه، سيبحث JavaScript عنه أولاً في `rabbit`، ثم في `animal`. +الآن إذا قرأنا شيئًا من `longEar`، ولم يتم العثور عليه، ستبحث جافاسكريبت عنه أولاً في `rabbit`، ثم في `animal`. هناك فقط حدْان: