-
المساهمات
2198 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
13
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو Chihab Hedidi
-
نعم و هي الدالة المسؤولة عن تقريب القيم و صيغتها العامة: numpy.round(a, decimals=0, out=None) حيث أن : a: المصفوفة أو القيمة التي تريد تقريبها. decimals: عدد المنازل العشرية المراد التقريب إليها و القيمة الافتراضية هي 0. out: مصفوفة اختيارية لتخزين النتيجة فيها. و يمكنك إستدعاء مصفوفة داخلها لتقريب القيم على حسب عدد المنازل العشرية التي تريدها.
- 5 اجابة
-
- 1
-
بالنسبة للدالة predict فتستخدمها عندما ترغب في استخدام الشبكة العصبية المدربة للتنبؤ بالقيم أو النتائج الجديدة بناء على بيانات جديدة لم تشارك في التدريب، حيث يتم استخدامها بعد الانتهاء من تدريب النموذج، عندما يكون لديك بيانات جديدة وتريد أن تعرف ماذا سيتنبأ النموذج. أما الدالة evaluate فتستخدمها لحساب أداء النموذج على مجموعة بيانات معينة مثل بيانات التحقق أو الاختبار، فهي تقيم النموذج المدرب باستخدام البيانات الحقيقية وتقارن مخرجات النموذج مع القيم الفعلية، و الدالة تقوم بحساب المقاييس مثل loss أو الدقة accuracy أو أي مقاييس أخرى قمت بتحديدها أثناء بناء النموذج، و يتم استخدامها عادة بعد التدريب للتحقق من أداء النموذج على بيانات اختبارية، وهي تعطي فكرة عن جودة النموذج. فإذا كان هدفك هو تقييم مدى جودة النموذج في التنبؤ على بيانات جديدة أو اختبارية، فاستخدم evaluate، وإذا كنت تريد فقط استخدام النموذج للتنبؤ، فاستخدم predict.
-
نعم من الأفضل تحديد العلاقة بين الجداول في Models لتسهيل العمل مع قواعد البيانات باستخدام، لكن تحديد العلاقة في Model ليس شرطا ضروريا لإضافة المفتاح الأجنبي على مستوى الهجرة.
-
المصطلحان مهمان و يرتبطان بتدريب النموذج، و بالتأكيد لكل منهما معنى مختلف، حيث أن Epoch هو عدد المرات التي يتم فيها تمرير كامل بيانات التدريب عبر الشبكة العصبية، فمثلا إذا كانت لديك مجموعة بيانات تحتوي على 1000 عينة، وعند اكتمال مرور جميع هذه العينات عبر الشبكة مرة واحدة، نقول إننا انتهينا من Epoch واحد، وعادة ما تحتاج الشبكات العصبية إلى العديد من الـ Epochs لتحسين الأداء تدريجيا، حيث يتم تعديل الأوزان بعد كل Epoch بناء على الخطأ. أما Batch Size فهو حجم الدفعة، أي عدد العينات التي يتم تمريرها عبر الشبكة في كل تحديث للأوزان، فبدلا من تمرير جميع العينات مرة واحدة عبر الشبكة والذي قد يكون بطيئا جدا في حالة المجموعات الكبيرة، يتم تقسيم البيانات إلى دفعات صغيرة، و بعد كل دفعة يتم تحديث الأوزان بناءً على نتائج تلك الدفعة فقط، فإذا كانت مجموعة البيانات تحتوي على 1000 عينة وكان حجم الدفعة 100، فهذا يعني أن كل Epoch سيحتوي على 10 دفعات أي 100 عينة لكل دفعة. و العلاقة بينمها هو أن عدد الدفعات في كل Epoch يساوي عدد العينات في مجموعة البيانات ÷ حجم الدفعة، فإذا كانت مجموعة البيانات تحتوي على 1000 عينة وحجم الدفعة هو 100، فستكون هناك 10 دفعات لكل Epoch.
- 4 اجابة
-
- 1
-
استخدام الخوارزميات لحل المشاكل هو أسلوب شائع في البرمجة وتطوير البرمجيات، فالخوارزميات توفر خطوات واضحة لحل المشكلة وتساعد في تنظيم الأفكار بطريقة منهجية، و الأكاديمية هنا توفر دروس ممتازة فعلا في هذا المجال حيث يوجد العديد من الدروس المكتوبة و الكتب التي تساعدك على تطوير نفسك. و لحل المشاكل باستخدام الخوارزميات يجب عليك أولا التأكد من فهم جميع جوانب المشكلة وما المطلوب بالضبط، ثم تحدد أي خوارزمية أو هيكل بيانات يمكن أن يساعد في حل المشكلة، و بعدها ابدأ في كتابة الشيفرة مع التركيز على تحسين الخوارزمية وتحقيق الكفاءة، و بعد كتابة الشيفرة اختبرها مع مجموعة متنوعة من المدخلات للتأكد من صحتها. و يمكنك قراءة هذه المقالات التي ستساعدك كبداية في تعلم الخوارزميات:
-
الخطأ الذي ظهر لك يخبرك أن جدول "teachers" موجود بالفعل في قاعدة البيانات، وهذا هو سبب فشل عملية الهجرة، فالخطأ يتحدث عن مشكلة في إنشاء جدول بسبب تكرار الجدول الموجود بالفعل، وليس له علاقة مباشرة بالمفتاح الأجنبي الذي تحاول إضافته، و لتجاوز هذه المشكلة عند إضافة المفتاح الأجنبي لجدول "students"، يجب التأكد أولا من عدم وجود أخطاء في الجداول الأخرى مثل جدول "teachers"، و أيضا تأكد من أن الجدول "students" موجود وأنه لا يحتوي بالفعل على العمود "id_dept". وإذا كنت تحاول إنشاء جدول موجود مسبقا، يمكنك إما حذف الجدول يدويا من قاعدة البيانات، أو استخدام الأمر: php artisan migrate:rollback لتراجع آخر عملية هجرة، أو استخدام: php artisan migrate:fresh لإعادة بناء جميع الجداول من البداية و لكن هذا هذا سيحذف جميع البيانات الحالية في الجداول.
-
المشكلة تكون مرتبطة إما بتنسيق واجهة المستخدم أو بمشكلة في عرض الموارد الرسومية داخل التطبيق، لذا تأكد من أن جميع الصور والخلفيات المستخدمة موجودة في المجلد الصحيح وأنه لا يوجد أي خطأ في تسميتها أو استدعائها في الـ XML أو الكود. و أيضا تأكد أن لون خلفية الشاشة والخلفيات المخصصة صحيحة، لأن وجود لون خلفية أسود أو غير مرئي يمكن أن يؤدي إلى ظهور شاشة سوداء، و حاول استخدام Logcat في Android Studio لرؤية أي أخطاء أو تحذيرات عند تشغيل التطبيق، حيث قد توفر هذه السجلات معلومات إضافية حول المشكلة.
-
جرب تغيير الhost إلى : host="127.0.0.1" لأنه بالطريقة التي كتبتها يتم تحويله إلى IPV6 و هي التي يمكن أن تكون سبب المشكلة، أما بالطريقة الجديدة فيتم إستخدام IPV4 بشكل مباشرة، و إذا كنت قد قمت بوضع كلمة مرور عند تثبيت Mysql تأكد منها حيث التي تستخدمها في الكود هي YES.
-
هي مجموعة من الاختبارات والشهادات التي تقدمها شركة مايكروسوفت لتقييم مهارات الأفراد في مختلف التقنيات والبرمجيات التي تقدمها الشركة، و الهدف هو منح شهادات احترافية في مجالات علوم الحاسوب بصفة عامة و يوجد العديد منها لكن أشهرها هي Microsoft Certified: Azure Fundamentals: هنا تختبر المعرفة الأساسية بخدمات Azure السحابية. Microsoft Certified: Azure Administrator Associate: تهدف هذه الشهادة إلى أولئك الذين يديرون بيئات Azure السحابية. Microsoft Certified: Power BI Data Analyst Associate: تختبر القدرة على استخدام Power BI لتحليل البيانات وإنشاء تقارير تفاعلية. Microsoft Certified: Security, Compliance, and Identity Fundamentals: تركز على مفاهيم الأمان والامتثال وحلول الهوية. Microsoft Certified: Microsoft 365 Fundamentals: تغطي الأساسيات المتعلقة بـ Microsoft 365 والخدمات المرتبطة بها مثل Outlook وTeams وOneDrive. و بالتأكيد كل شهادة لها متطلبات مختلفة وتركز على مجالات معينة.
- 3 اجابة
-
- 1
-
أغلبية السرفرات المحلية مثل XAMPP و Uniform Server مصممة عادة لتكون متعددة المنصات وتعمل على بيئات 64 بت و32 بت، حيث إذا كنت تبحث عن سيرفر محلي 32 بت ليعمل على جهاز 64 بت، فهذا ممكن لأن معظم أنظمة التشغيل 64 بت تدعم تشغيل تطبيقات 32 بت. و يعتبر WampServer هو بديل لـ XAMPP، ويوفر بيئة PHP، Apache، و MySQL. يوجد منه إصدار يدعم 32 بت ويعمل بشكل جيد على أنظمة 64 بت، أو يمكنك إستخدام Laragon هو بيئة تطوير محلية مشابهة لـ XAMPP و WampServer. تدعم إصدارات 32 بت، وتعمل بسلاسة على أنظمة 64 بت و يعتبر بديل ممتاز أيضا.
-
قم بإنشاء سيرة ذاتية قوية تسلط الضوء على مهاراتك، خبراتك السابقة، ومشاريعك العملية، و تأكد من التركيز على المهارات التي تطلبها جوجل مثل البرمجة أو تحليل البيانات، ثم اذهب إلى موقع وظائف جوجل واختر "Internships" وابحث عن الفرص المتاحة، و بمجرد أن تجد الفرصة المناسبة، قدم طلبك عبر الموقع مع إرفاق سيرتك الذاتية وخطاب تقديمي إذا كان مطلوب. تأكد من قراءة المتطلبات بعناية، و يمكنك دائما البحث عبر الإنترنت عن تجارب متدربين سابقين في جوجل والاستفادة من نصائحهم للتحضير بشكل أفضل.
- 5 اجابة
-
- 1
-
إذا استخدمت i أو أي اسم آخر كمؤشر في الحلقة، فهذا يعني أنك قد تنوي استخدام هذا المتغير داخل الحلقة بهذا الشكل: for i in range(5): print(i) هنا يتم استخدام i لطباعة الأرقام من 0 إلى 4. أما عندما تستخدم _ فهذا يعني أنك لا تنوي استخدام المتغير داخل الحلقة، وأنك تريد فقط تنفيذ الكود داخل الحلقة بدون الحاجة لاستخدام المؤشر، و يعتبر _ هنا تعبير متعارف عليه للإشارة إلى أن المتغير لن يُستخدم. for _ in range(5): print("Hsoub") فهنا يتم تكرار الكود داخل الحلقة 5 مرات، لكن لا يتم استخدام المتغير _.
- 5 اجابة
-
- 1
-
تخصص تطوير الويب لا يزال له مستقبل قوي، خاصة مع تزايد الاعتماد على الإنترنت والحاجة المستمرة للمواقع والتطبيقات الإلكترونية، و الكثير من الشركات والمؤسسات تحتاج إلى مواقع وتطبيقات متقدمة لخدمة عملائها، سواء كان ذلك في التجارة الإلكترونية، الخدمات المالية، أو حتى التطبيقات الحكومية والتعليمية، و لكن مطلوب من مطوري الويب الاستمرار في تعلم أدوات ولغات جديدة وإطارات العمل المتقدمة. أما بخصوص التخصصات البرمجية المطلوبة حاليا وفي المستقبل، فأغلب الشركات متوجهة لمجال الذكاء الاصطناعي وتعلم الآلة لأنه سيستمر في النمو والتوسع في قطاعات كثيرة، أما أغلب التخصصات الأخرى فهي متوفرة و لكن يدرجات متفاوتة و يتعين عليك دائما الإطلاع على التخصصات المطلوبة في المكان أو الدولة التي أنت فيها في حالة كنت تريد العمل هناك.
-
يمكنك إنشاء واجهة توفر إنشاء كائنات لعائلات متعددة من الكائنات المرتبطة أو التابعة، دون الحاجة إلى تحديد فئاتها المحددة، و الفكرة الأساسية هي أن يكون لديك عدة مصانع مختلفة، كل مصنع يقوم بإنشاء مجموعة من الكائنات المتوافقة مع بعضها البعض، لنفترض أن لدينا منتجين كرسي و طاولة، ونريد مصنعين واحد يصنع الأثاث الحديث وآخر يصنع الأثاث الكلاسيكي، لذا سيتعين علينا إنشاء الواجهات بهذا الشكل: from abc import ABC, abstractmethod # واجهة الكرسي class Chair(ABC): @abstractmethod def sit_on(self): pass # واجهة الطاولة class Table(ABC): @abstractmethod def eat_on(self): pass ثم تعرف الفئات التي تنفذ الواجهات: # كراسي حديثة class ModernChair(Chair): def sit_on(self): return "Sitting on a modern chair." # طاولات حديثة class ModernTable(Table): def eat_on(self): return "Eating on a modern table." # كراسي كلاسيكية class ClassicChair(Chair): def sit_on(self): return "Sitting on a classic chair." # طاولات كلاسيكية class ClassicTable(Table): def eat_on(self): return "Eating on a classic table." ثم إنشاء المصنع المجرد: class FurnitureFactory(ABC): @abstractmethod def create_chair(self) -> Chair: pass @abstractmethod def create_table(self) -> Table: pass و المصانع الملموسة: # مصنع الأثاث الحديث class ModernFurnitureFactory(FurnitureFactory): def create_chair(self) -> Chair: return ModernChair() def create_table(self) -> Table: return ModernTable() # مصنع الأثاث الكلاسيكي class ClassicFurnitureFactory(FurnitureFactory): def create_chair(self) -> Chair: return ClassicChair() def create_table(self) -> Table: return ClassicTable() و في الأخير تستخدمهم بهذا الشكل: def client_code(factory: FurnitureFactory): chair = factory.create_chair() table = factory.create_table() print(chair.sit_on()) print(table.eat_on()) # استخدام مصنع الأثاث الحديث modern_factory = ModernFurnitureFactory() client_code(modern_factory) # استخدام مصنع الأثاث الكلاسيكي classic_factory = ClassicFurnitureFactory() client_code(classic_factory) و يمكنك أن تطلع أكثر على كيف يعمل بالضبط من خلال هذه المقالة :
- 3 اجابة
-
- 1
-
لدينا هنا حلقتان متداخلتان، بالنسبة للحلقة الخارجية ستعمل 5 مرات، حيث تتغير قيمة i من 0 إلى 4، أما بالنسبة للحلقة الداخلية فلكل قيمة من i في الحلقة الخارجية، يتم تشغيل الحلقة الداخلية 6 مرات، حيث تتغير قيمة n من 0 إلى 5، و إجمالي عدد التكرارات = 5 * 6 = 30 تكرار، و لكن بما أن الكود يستخدم pass، فهذا يعني أنه لا يتم تنفيذ أي شيء داخل الحلقات، فهي تعمل فقط بدون أي نتيجة ملموسة. و إذا كنت تريد فهم كيف تعمل بشكل أفضل يمكنك طباعة قيم المتغيرات i وn في كل تكرار بهذا الشكل: for i in range(5): for n in range(6): print(f"i = {i}, n = {n}") حيث سيكون الناتج: i = 0, n = 0 i = 0, n = 1 i = 0, n = 2 i = 0, n = 3 i = 0, n = 4 i = 0, n = 5 i = 1, n = 0 i = 1, n = 1 i = 1, n = 2 i = 1, n = 3 i = 1, n = 4 i = 1, n = 5 . . . i = 4, n = 0 i = 4, n = 1 i = 4, n = 2 i = 4, n = 3 i = 4, n = 4 i = 4, n = 5
-
يعتمد القرار على الاحتياجات المحددة وحجم البيانات التي يجب معالجتها، حيث يعتبر Dynamics 365 خيار شامل لإدارة الأعمال يتضمن أدوات لإدارة المحاسبة، الموارد البشرية، وإدارة العملاء، مما يجعله مناسبا لمكاتب المحاماة الكبيرة التي تحتاج إلى إدارة عملياتها المختلفة في منصة واحدة، ولكن يعتمد D365 بشكل أساسي على نموذج الاشتراك الشهري، مما قد لا يناسب الجميع إذا كنت تبحث عن حل لمرة واحدة، في المقابل يعد Power BI أداة قوية لتحليل البيانات وإنشاء التقارير المرئية، وهو مناسب في حال كان التركيز الرئيسي على التحليل وليس على إدارة العمليات اليومية، و يوفر نسخة مجانية للاستخدام، ولكن النسخ الأكثر تقدما تتطلب اشتراك شهري، لذا حاول أن تحدد هدفك و تربطها مع مميزات كل برنامج لتستطيع الإختيار بينهما.
-
بالنسبة للتمارين والواجبات بعد كل درس، فالأكاديمية تركز على التفاعل العملي أثناء الشرح، ثم تنتقل إلى قسم التطبيقات حيث يتم تثبيت المفاهيم بشكل أعمق، و لكن إذا كنت ترغب في الحصول على تمارين إضافية أو تطبيقات أكثر بعد كل درس، يمكنك دائما طلب ذلك في التعليقات أسفل فيديو الدرس، و سيتكفل المدربين بتزويدك بتمارين إضافية للمساعدة في تعزيز الفهم وتطوير مهاراتك بشكل أكبر.
-
لا يوجد خيار تحديث مباشر داخل البرنامج نفسه، حيث تحتاج إلى تثبيت الإصدار الأحدث بشكل منفصل، يمكنك هذا عبر الإنتقال إلى الموقع ل Visual Studio الرسمي لتحميل الإصدار الأخير، ثم اختر Visual Studio 2022 من بين الخيارات المتاحة بناء على احتياجاتك، و بعد تحميل المثبت، شغله واتبع التعليمات لإعداد بيئتك التطويرية، و يمكنك اختيار الحزم والميزات التي تحتاجها. بعد تثبيت Visual Studio 2022 يمكنك فتح المشاريع التي تم إنشاؤها في Visual Studio 2013، لكن قد يطلب منك Visual Studio تحديث ملفات المشروع لتتوافق مع الإصدار الجديد، وهو ما يمكنك الموافقة عليه، و أيضا إذا كنت ترغب في الاحتفاظ بالإصدار القديم لأغراض معينة، يمكنك ذلك حيث إن Visual Studio 2022 سيعمل بجانب Visual Studio 2013 دون إزالته.
-
مرحبا مروان، ستجد أسفل فيديو الدرس مكان مخصص لوضع التعليقات هناك، أرجوا وضع تعليقك في تلك الخانة، أما هنا فيمكنك طرح أسئلتك العامة و التي تكون خارج مجال الدروس.
-
نعم يمكنك ذلك في جامعة هارفارد، حيث يتم تدريس الكورس هناك، ومع ذلك عليك التأكد من التقديم على الكورس من خلال الجامعة نفسها، والتأكد من متطلبات القبول، مثل التسجيل في برامج معينة أو الحصول على تأشيرة دراسية إذا كنت طالبا دوليا. و بالتأكيد المعلومات الرسمية ستحصل عليها من موقع الجامعة أو عبر التواصل مع مكاتب القبول.
- 2 اجابة
-
- 1
-
يعتبر __name__ كمتغير خاص يستخدم لتحديد ما إذا كان الملف الذي يحتوي على الكود يتم تنفيذه كبرنامج رئيسي أم أنه تم استيراده كملف وحدة في برنامج آخر، حيث عندما تقوم بتشغيل ملف بايثون مباشرة، يتم تعيين قيمة __name__ إلى "__main__"، و هذا يعني أن الملف يتم تنفيذه كبرنامج رئيسي، أما إذا تم استيراد الملف كملف وحدة في برنامج آخر، فإن __name__ تأخذ قيمة اسم الملف.يمكنك استخدام هذا المبدأ لتحديد الكود الذي يجب تنفيذه فقط عندما يكون الملف هو البرنامج الرئيسي، وليس عند استيراده كوحدة، وهذا مفيد لتنظيم الكود وجعل الوحدات البرمجية أكثر مرونة. # mymodule.py def hello(): print("Hello, world!") if __name__ == "__main__": hello() عند تشغيل mymodule.py مباشرة، سيتم طباعة "Hello, world!" لأن __name__` سيكون "__main__". لكن إذا قمت باستيراد mymodule.py` في ملف آخر، فإن hello() لن يتم استدعاؤها تلقائيا لأن __name__ لن تكون "__main__" بل ستكون "mymodule".
- 1 جواب
-
- 1
-
يمكنك استخدام عدة طرق، و إحدى الطرق الشائعة هي استخدام ميثود __new__ لضمان أنه يتم إنشاء كائن واحد فقط من الفئة مهما تم استدعاؤها بهذا الشكل: class Singleton: _instance = None # متغير يخزن النسخة الوحيدة def __new__(cls): if cls._instance is None: cls._instance = super(Singleton, cls).__new__(cls) return cls._instance # اختبار Singleton singleton1 = Singleton() singleton2 = Singleton() # التحقق من أن الكائنين هما نفس النسخة print(singleton1 is singleton2) # ستطبع True هنا في الكود new هي ميثود خاصة يتم استدعاؤها قبل إنشاء الكائن، وتستخدم هنا لضمان أن النسخة الوحيدة من الفئة يتم إرجاعها كل مرة، أما cls._instance فهو متغير فئوي يخزن النسخة الوحيدة من الكائن، إذا كانت None، يتم إنشاء الكائن، وإلا يتم إرجاع النسخة الموجودة. بهذا الشكل، يتم التأكد من أن أي محاولة لإنشاء كائن جديد من الفئة ستعيد النسخة نفسها الموجودة بالفعل.
- 2 اجابة
-
- 1
-
الحادثة معروفة حيث كانت المشكلة الرئيسية في نظام التحكم الآلي للطيران، و هذا النظام كان مصمما لضبط زاوية الطائرة أثناء الطيران لمنعها من الانحدار أكثر من اللازم.، و الخطأ حدث عندما تلقى النظام بيانات غير صحيحة من جهاز استشعار زاوية الهجوم الذي يحدد زاوية الطائرة بالنسبة للهواء المتدفق، و بسبب هذه البيانات الخاطئة، قام النظام بخفض مقدمة الطائرة بشكل غير مبرر، وهو ما أدى إلى فقدان الطيارين السيطرة على الطائرة وتحطمها في الحالتين. في وقتنا الحالي يمكن الإعتماد على تحليل البيانات، حيث يمكن تطوير خوارزميات تعمل على رصد الأنماط غير الطبيعية في البيانات الصادرة من الحساسات، إذا تم اكتشاف بيانات غير منطقية، يتم تجاهل المدخلات المشبوهة والتعامل مع البيانات البديلة.
- 2 اجابة
-
- 1
-
في لغة php لا يتم استخدام الأقواس {} لإنشاء الكائنات مثلما في جافاسكريبت، لذا فإن الطريقة الوحيدة لإنشاء كائنات في php هي باستخدام الكلمة المفتاحية new. بالنسبة ل Facades هي نمط تصميم يستخدم في البرمجة لتقديم واجهة مبسطة لمكتبة أو مجموعة من الكائنات المعقدة، بحيث يمكنك الوصول إلى الوظائف المعقدة أو العمليات المتعددة من خلال واجهة بسيطة ومباشرة، و في php يستخدم هذا المفهوم بشكل شائع في إطار العمل Laravel، حيث يسهل الوصول إلى العديد من الخدمات والأنظمة الداخلية مثل قواعد البيانات، الجلسات، وغيرها، فمثلا هنا: Cache::put('key', 'value', $minutes); $value = Cache::get('key'); Cache هو Facade يوفر طريقة للوصول إلى خدمة التخزين المؤقت بشكل بسيط،بدلا من الحاجة إلى إنشاء كائنات وتكوين الخدمات يدويا، يمكنك فقط استخدام هذا الـ Facade للوصول إلى الخدمة مباشرة.
-
عند استخدام الكلمة المفتاحية new، يتم إنشاء كائن من نوع محدد بناء على الفئة التي تم تحديدها فمثلا: function Person(name, age) { this.name = name; this.age = age; } let person1 = new Person("Ahmed", 25); هنا نحن نقوم بإنشاء كائن جديد من النوع Person باستخدام الكلمة المفتاحية new، هذه الطريقة تنشئ كائن جديد باستخدام البنية المحددة في الدالة أو الصنف، مع إنشاء خصائص name و age وتعيين القيم لها. و عند استخدام الأقواس {}، يتم إنشاء كائن عادي أو مباشر بدون الحاجة إلى قالب أو صنف، و يمكنك تحديد الخصائص والقيم مباشرة داخل الأقواس بهذا الشكل: let person2 = { name: "Ahmed", age: 25 }; حيث هنا تم إنشاء كائن person2 باستخدام الأقواس {}، هذا الكائن يحتوي على الخصائص name و age وتم تعيين القيم لها مباشرة، و هذه الطريقة مناسبة لإنشاء كائنات سريعة بدون الحاجة إلى تعريف دالة أو صنف. و الفرق هو أن new تستخدم لإنشاء كائن يعتمد على صنف معين وتقوم بتشغيل دالة البناء عند إنشاء الكائن، أما الأقواس تستخدم لإنشاء كائنات مباشرة بدون الحاجة إلى صنف وتتيح لك تعيين الخصائص والقيم مباشرة.
- 4 اجابة
-
- 1