Yehia Amin2 نشر أمس الساعة 16:13 أرسل تقرير نشر أمس الساعة 16:13 السلام عليكم وحمة الله وبركاته لماذا تظهر رسالة الخطأ التالية ما السبب ؟ // Object let user = { //Properties theName: "Yehia", theAge: 26, //methods sayHello: function() { return `Hello`, }; }; //Accessing Object console.log(user.theName); console.log(user.theAge); console.log(user.sayHello()); VM61:9 Uncaught SyntaxError: Unexpected token '}' (at VM61:9:5) 2 اقتباس
0 Chihab Hedidi نشر أمس الساعة 16:38 أرسل تقرير نشر أمس الساعة 16:38 الخطا يظهر بسبب استخدام الفاصلة المنقوطة بعد نهاية الدالة sayHello داخل تعريف Object، والقاعدة في لغة جافاسكريبت هي اننا نفصل بين الخصائص والدوال داخل الكائن باستخدام الفاصلة العادية فقط ولا نستخدم الفاصلة المنقوطة ابدا هناك. ايضا لديك فاصلة زائدة داخل جملة return بعد كلمة Hello والافضل استبدالها بفاصلة منقوطة لانها نهاية سطر برمجي داخل الدالة. يمكنك تجربة الكود بهذا الشكل. let user = { theName: "Yehia", theAge: 26, sayHello: function() { return `Hello`; } }; console.log(user.theName); console.log(user.theAge); console.log(user.sayHello()); 2 اقتباس
0 Mustafa Suleiman نشر أمس الساعة 19:17 أرسل تقرير نشر أمس الساعة 19:17 وضعت فاصلة عادية , بعد جملة return والتي تعني في جافاسكريبت معامل ربط وتجعل المحرك يتوقع وجود قيمة أخرى بعدها، لكنه وجد مباشرة قوس الإغلاق }، لذلك ظهر الخطأ: Uncaught SyntaxError: Unexpected token '}' لننهي الجملة في البرمجة نستخدم الفاصلة المنقوطة ; وعندها يتفهم مفسر أو مترجم اللغة أن جملة انتهت وجملة جديدة بدأت. أيضاً في الكائن نستخدم الفاصلة , للفصل بين الخصائص وليس الفاصلة المنقوطة، حيث كتبت: sayHello: function() { }; //هنا أو لا نضع شيئاً إذا كانت العنصر الأخير. وللعلم في الإصدار ES6 من جافاسكريبت، نستطيع حالياً كتابة الميثود مباشرةً كالتالي: let user = { theName: "Yehia", theAge: 26, sayHello() { return `Hello`; } }; تكتب اسم الدالة متبوعاً بالأقواس مباشرة دون الحاجة لكلمة function أو النقطتين : 1 اقتباس
السؤال
Yehia Amin2
السلام عليكم وحمة الله وبركاته
لماذا تظهر رسالة الخطأ التالية ما السبب ؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.