You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 1-js/01-getting-started/2-manuals-specifications/article.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@
4
4
5
5
## الوصف
6
6
7
-
[وصف The ECMA-262](https://www.ecma-international.org/publications/standards/Ecma-262.htm) يحتوي على المعلومات الأكثر عمقاً وتفصيلاً ورسميةً عن جافاسكريبت. وهي تقوم بتعريف اللغة.
7
+
[وصف The ECMA-262](https://www.ecma-international.org/publications/standards/Ecma-262.htm) يحتوي على المعلومات الأكثر عمقاً وتفصيلاً ورسميةً عن جافا سكريبت. وهي تقوم بتعريف اللغة.
8
8
9
9
و لكن كونها بهذه الرسمية، تجعل فهمها من أول مرة صعبا. لذلك إذا كنت تريد مصدر المعلومى الأكثر وثوقاً عن تفاصيل اللغة، الوصف هو المكان الصحيح. لكنها ليست للإستعمال اليومي.
10
10
@@ -22,13 +22,13 @@
22
22
23
23
أيضاً، غالباً ما يكون من الأفضل استخدام البحث عبر الإنترنت بدلاً من ذلك. فقط استخدم "[مصطلح] MDN" للإستعلام، مثال <https://google.com/search?q=MDN+parseInt> لتبحث عن دالة `parseInt`.
24
24
25
-
***MSDN** – مراجع ميكروسوفت يوجد بها معلومات كثيرة، متضمنة جافاسكريبت (غالباً يشار إليها JScript). إذا كنت تريد شيئا أكثر تخصصا عن انترنت اكسبلورر، من الأفضل الذهاب إلى: <http://msdn.microsoft.com/>.
25
+
***MSDN** – مراجع ميكروسوفت يوجد بها معلومات كثيرة، متضمنة جافا سكريبت (غالباً يشار إليها JScript). إذا كنت تريد شيئا أكثر تخصصا عن انترنت اكسبلورر، من الأفضل الذهاب إلى: <http://msdn.microsoft.com/>.
26
26
27
27
أيضاً، يمكن غن نستخدم بحث الإنترنت بعبارات مثل "RegExp MSDN" or "RegExp MSDN jscript".
28
28
29
29
## جدول التوافق
30
30
31
-
جافاسكريبت لغة فى سياق متطور، تضاف إليها خصائص جديدة بانتظام.
31
+
جافا سكريبت لغة فى سياق متطور، تضاف إليها خصائص جديدة بانتظام.
32
32
33
33
لتَّـحَقّـق من الدعم ما بين المتصفحات والمحركات الأخرى، انظر:
Copy file name to clipboardExpand all lines: 1-js/01-getting-started/3-code-editors/article.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,7 +15,7 @@
15
15
-[فيجوال ستديو كود](https://code.visualstudio.com/) (يعمل على أكثر من نظام تشغيل، مجاني).
16
16
-[ويب ستورم](http://www.jetbrains.com/webstorm/) (يعمل على أكثر من نظام تشغيل، مدفوع).
17
17
18
-
بالنسبة للويندوز، يمكن استخدام برنامج فيجوال ستديو، لايجب الخلط بينه وبين الفيجوال ستديو كود، فيجوال ستديو هو محرر مدفوع يعمل على نظام ويندوز فقط، ومناسب تماماً لبيئة الـ.NET. أنه أيضاً جيد للجافاسكريبت. كما يوجد إصدار مجاني منه [Visual Studio Community](https://www.visualstudio.com/vs/community/).
18
+
بالنسبة للويندوز، يمكن استخدام برنامج فيجوال ستديو، لايجب الخلط بينه وبين الفيجوال ستديو كود، فيجوال ستديو هو محرر مدفوع يعمل على نظام ويندوز فقط، ومناسب تماماً لبيئة الـ.NET. أنه أيضاً جيد لجافا سكريبت. كما يوجد إصدار مجاني منه [Visual Studio Community](https://www.visualstudio.com/vs/community/).
19
19
20
20
عادة ما تكون تكلفتها ضئيلة للغاية مقارنة براتب المطور المؤهل، لذلك فقط اختر الأفضل بالنسبة لك. العديد من بيئات التطوير مدفوعة، لكن لها فترة سماحية.
Copy file name to clipboardExpand all lines: 1-js/02-first-steps/01-hello-world/article.md
+9-9Lines changed: 9 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,15 +1,15 @@
1
1
# أهلاً، بالعالم!
2
2
3
-
هذا الجزء من البرنامج التعليمي عن أساسيات لغة الجافا سكريبت، اللغة نفسها.
3
+
هذا الجزء من البرنامج التعليمي عن أساسيات لغة جافا سكريبت، اللغة نفسها.
4
4
5
-
لكن نحتاج إلى بيئة عمل من أجل تشغيل النصوص الخاصة بنا، وبما أن هذا الكتاب عبر الانترنت، لذافإن المتصفح خيار جيد. سوف نقوم بالاحتفاظ بالأوامر الخاصة بالمتصفح (مثل `alert`) للحد الأدنى بحيث لا تقضي وقتًا عليها إذا كنت تخطط للتركيز على بيئة أخرى (مثل Node.js). سوف نركز على الجافا سكريبت في المتصفح [الجزء التالي](/ui) من البرنامج التعليمي.
5
+
لكن نحتاج إلى بيئة عمل من أجل تشغيل النصوص الخاصة بنا، وبما أن هذا الكتاب عبر الانترنت، لذافإن المتصفح خيار جيد. سوف نقوم بالاحتفاظ بالأوامر الخاصة بالمتصفح (مثل `alert`) للحد الأدنى بحيث لا تقضي وقتًا عليها إذا كنت تخطط للتركيز على بيئة أخرى (مثل Node.js). سوف نركز على جافا سكريبت في المتصفح [الجزء التالي](/ui) من البرنامج التعليمي.
6
6
7
7
لذا أولاً، دعونا نرفق نصا برمجيا في صفحة الويب. بالنسبة للبيئات التي تعمل على الخوادم (مثل Node.js)، يمكنك تنفيذها من خلال استخدام أمر مثل `"node my.js"`.
8
8
9
9
10
10
## الوسم "script"
11
11
12
-
يمكن وضع برامج الجافاسكريبت في أي جزء في مستند HTML باستخدام وسم `<script>`.
12
+
يمكن وضع برامج جافا سكريبت في أي جزء في مستند HTML باستخدام وسم `<script>`.
13
13
14
14
على سبيل المثال:
15
15
@@ -38,18 +38,18 @@
38
38
يمكن أن تقوم بتشغيل المثال بالضغط على زر "تشغيل" في الجانب الأيمن العلوي بالمربع الأعلى.
39
39
```
40
40
41
-
الوسم `<script>` يحتوي على شفرات جافاسكريبت التي يمكن أن تُنفذ بشكل تلقائي عندما يقوم المتصفح بمعالجة الوسم.
41
+
الوسم `<script>` يحتوي على شفرات جافا سكريبت التي يمكن أن تُنفذ بشكل تلقائي عندما يقوم المتصفح بمعالجة الوسم.
42
42
43
43
44
44
## الترميز الحديث
45
45
46
46
الوسم `<script>` يحتوي على بعض الخصائص التي نادراً مايتم استخدامها في وقتنا الحاضر، لكن يمكن أن تجدها في الشفرات البرمجية القديمة:
: معيار HTML القديم، HTML4، يتطلب أن يحتوي وسم script على `type`. عادة ما كان `type="text/javascript"`. لم تعد مطلوبة الآن. وأيضاً، معايير HTML الحديثة غيرت معنى هذه الخاصية. والآن، يمكن أن تستخدم لوحدات الجافا سكريبت. لكن هذا الموضوع متقدم، وسنتحدث عن الوحدات في جزء آخر من البرنامج التعليمي.
49
+
: معيار HTML القديم، HTML4، يتطلب أن يحتوي وسم script على `type`. عادة ما كان `type="text/javascript"`. لم تعد مطلوبة الآن. وأيضاً، معايير HTML الحديثة غيرت معنى هذه الخاصية. والآن، يمكن أن تستخدم لوحدات جافا سكريبت. لكن هذا الموضوع متقدم، وسنتحدث عن الوحدات في جزء آخر من البرنامج التعليمي.
: كان الغرض من استخدام هذه الخاصية هو إظهار لغة النص البرمجي، لم تعد هذه الخاصية منطقية الآن لأن الجافا سكريبت هي اللغة الافتراضية. فليست هناك حاجة لاستخدامها.
52
+
: كان الغرض من استخدام هذه الخاصية هو إظهار لغة النص البرمجي، لم تعد هذه الخاصية منطقية الآن لأن جافا سكريبت هي اللغة الافتراضية. فليست هناك حاجة لاستخدامها.
53
53
54
54
التعليقات قبل وبعد النصوص البرمجية.
55
55
: في الكتب والأدلة القديمة جداً، قد تجد تعليقات داخل وسم `<script>`، مثل هذا:
@@ -60,12 +60,12 @@
60
60
//--></script>
61
61
```
62
62
63
-
لا يتم استخدام هذه الخدعة في الجافاسكريبت الحديثة. تخفي هذه التعليقات شفرات الجافاسكريبت في المتصفحات القديمة التي لاتعرف كيفية عمل معالجة للوسم `<script>. نظراً لأن المتصفحات التي تم إصدارها في آخر 15 عاماً لا توجد فيها هذه المشكلة، فإن هذا النوع من التعليقات يمكن أن يساعدك في تحديد الشفرة القديمة حقاً.
63
+
لا يتم استخدام هذه الخدعة في جافا سكريبت الحديثة. تخفي هذه التعليقات شفرات جافا سكريبت في المتصفحات القديمة التي لاتعرف كيفية عمل معالجة للوسم `<script>. نظراً لأن المتصفحات التي تم إصدارها في آخر 15 عاماً لا توجد فيها هذه المشكلة، فإن هذا النوع من التعليقات يمكن أن يساعدك في تحديد الشفرة القديمة حقاً.
64
64
65
65
66
66
## النصوص البرمجية الخارجية
67
67
68
-
إذا كان لدينا عدد كبير من شيفرات الجافا سكريبت، فإننا يمكن أن نضعها في ملف منفصل.
68
+
إذا كان لدينا عدد كبير من شيفرات جافا سكريبت، فإننا يمكن أن نضعها في ملف منفصل.
69
69
70
70
يتم إرفاق ملفات النصوص البرمجية HTML باستخدام خاصية `src`:
71
71
@@ -124,7 +124,7 @@
124
124
125
125
## ملخص
126
126
127
-
- يمكن استخدام وسم `<script>` لإضافة شيفرة الجافا سكريبت إلى صفحة.
127
+
- يمكن استخدام وسم `<script>` لإضافة شيفرة جافا سكريبت إلى صفحة.
128
128
- الخصائص `type` و`language` غير مطلوبة.
129
129
- يمكن إدراج النص البرمجي في ملف خارجي باستخدام `<script src="path/to/script.js"></script>`.
Copy file name to clipboardExpand all lines: 1-js/02-first-steps/05-types/article.md
+8-8Lines changed: 8 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
القيمة في جافا سكربت دائما تكون من نوع معين . على سبيل المثال نص أو رقم.
4
4
5
-
توجد 8 أنواع بيانات أساسية في الجافا سكربت . هنا سوف نغطيهم بشكل عام وفي الفصول القادمة سنتكلم عن كل نوع بالتفصيل.
5
+
توجد 8 أنواع بيانات أساسية في جافا سكريبت . هنا سوف نغطيهم بشكل عام وفي الفصول القادمة سنتكلم عن كل نوع بالتفصيل.
6
6
7
7
نستطيع أن نضع أي نوع في متغير . على سبيل المثال المتغير قد يكون في لحظة ما نص ثم يتم تخزين رقم فيه:
8
8
@@ -12,7 +12,7 @@ let message = "hello";
12
12
message =123456;
13
13
```
14
14
15
-
لغات البرمجة التي تسمح بذلك مثل الجافا سكربت يطلق عليها
15
+
لغات البرمجة التي تسمح بذلك مثل جافا سكريبت يطلق عليها
16
16
"dynamically typed" يعني أنه يوجد أنواع بيانات محددة لكن المتغيرات غير مقيدة بهم .
17
17
18
18
## Number
@@ -67,7 +67,7 @@ n = 12.345;
67
67
68
68
## BigInt
69
69
70
-
في الجافا سكربت، النوع "رقم" لا يمثل الأعداد الصحيحة أكبر من <code>(2<sup>53</sup>-1)</code> ( `9007199254740991`)، أو أقل من <code>-(-2<sup>53</sup>-1)</code> للأرقام السالبة. إنها قيود فنية ناتجة عن تمثيلهم الداخلي.
70
+
في جافا سكريبت، النوع "رقم" لا يمثل الأعداد الصحيحة أكبر من <code>(2<sup>53</sup>-1)</code> ( `9007199254740991`)، أو أقل من <code>-(-2<sup>53</sup>-1)</code> للأرقام السالبة. إنها قيود فنية ناتجة عن تمثيلهم الداخلي.
71
71
72
72
لمعظم الأغراض هذا يكفي، لكن في بعض الأحيان نحتاج لأرقام كبيرة حقاً ، على سبيل المثال. للتشفير أو الطوابع الزمنية الدقيقة للميكرو ثانية.
1.`Math` كائن مدمج داخلياً لتدعيم العمليات الرياضية. سنتعلمه في الفصل <info:number>. هنا، يخدم فقط كمثال للكائن.
252
252
2. نتيجة `typeof null` هي `"object"`. هذا رسمياً يعتبر خطأ في سلوك `typeof` ، يأتي من الأيام الأولى لجافا سكربت وتم الحفاظ عليه من أجل التوافقية. قطعاً `null` ليس كائن. إنه قيمة خاصة بنوع منفصل خاص.
253
-
3. نتيجة `typeof alert` هي `"function"`، لأن `alert` دالة. سندرس الدوال في الفصول القادمة وهناك سنرى أنه لا توجد نوع خاص "دالة" في جافا سكربت. الدوال الدوال تنتمي للنوع كائن. لكن `typeof` تعاملهم بشكل مختلف، يرجع `"دالة"`. هذا أيضاً يأتي من الأيام الأولى للجافا سكربت. فنياً، مثل هذا السلوك غير صحيح، لكن قد يكون ملائم في الممارسة.
253
+
3. نتيجة `typeof alert` هي `"function"`، لأن `alert` دالة. سندرس الدوال في الفصول القادمة وهناك سنرى أنه لا توجد نوع خاص "دالة" في جافا سكربت. الدوال الدوال تنتمي للنوع كائن. لكن `typeof` تعاملهم بشكل مختلف، يرجع `"دالة"`. هذا أيضاً يأتي من الأيام الأولى لجافا سكربت. فنياً، مثل هذا السلوك غير صحيح، لكن قد يكون ملائم في الممارسة.
````warn header="من فضلك لاحظ: النص المكون من صفر `\"0\"` يكون `true`"
110
-
بعض اللغات (أعني PHP) تعامل `"0"` على أنه `false`. لكن في الجافاسكربت، النص غير الفارغ دائماً `true`.
110
+
بعض اللغات (أعني PHP) تعامل `"0"` على أنه `false`. لكن في جافا سكريبت، النص غير الفارغ دائماً `true`.
111
111
112
112
```js run
113
113
alert( Boolean("0") ); // true
@@ -147,4 +147,4 @@ alert( Boolean(" ") ); // المسافات، أيضاً true (أي نص غير
147
147
- `undefined` تكون `NaN` كرقم ليست `0`.
148
148
- `"0"` والنصوص التي تحتوي على مسافات فقط `" "` هي true كقيمة منطقية.
149
149
150
-
لم يتم تغطية الكائنات هنا. سنعود إليهم لاحقاً في هذا الفصل <info:object-toprimitive> تكون مكرسة حصرياً للكائنات بعد أن تعمل أشياء أساسية أكثر عن الجافا سكربت .
150
+
لم يتم تغطية الكائنات هنا. سنعود إليهم لاحقاً في هذا الفصل <info:object-toprimitive> تكون مكرسة حصرياً للكائنات بعد أن تعمل أشياء أساسية أكثر عن جافا سكريبت .
0 commit comments