مصطفى اوريك نشر 24 سبتمبر 2021 أرسل تقرير نشر 24 سبتمبر 2021 السلام عليكم. ما الذي يعنيه هذا الكود ؟ : [...Array(5).keys()] الجزء الذي به بعض الغموض حاليا لدي هي تلك النقاط الثلاث, فما فائدتها ؟ 2 اقتباس
1 شرف الدين حفني نشر 24 سبتمبر 2021 أرسل تقرير نشر 24 سبتمبر 2021 تلك الثﻻث نقاط يسمون بالspread syntax وظيفتهم أنهم يقومون بنشر(spread) عناصر المُكرر(iterator) , فمثلاً عند تنفيذ الكود في مثالك , سيتم أولاً عند تنفيذ ال Array(5).keys() بإنشاء مُكرر (iterator) مكون من الأرقام من صفر إلى أربعة وعﻻمة الspread(...) ستقوم بنشر عناصر الiteratorدون الحاجة أن تمر عليهم عنصر عنصر فيتحول المُكرر(iterator) إلى العناصر (0 1 2 3 4) , ومن ثم يتم ضم تلك العناصر في مصفوفة, وللتوضيح أكثر جرب أن تقوم بتنفيذ الشفرة البرمجية console.log(Array(5).keys()) ستﻻحظة طباعة الأتي في الشاشة Array Iterator {} [[Prototype]]: Array Iterator next: ƒ next() Symbol(Symbol.toStringTag): "Array Iterator" عند طباعة الشفرة التالية نﻻحظ تغير ناتج الطباعة console.log(...Array(5).keys()); هنا يُصبح ناتج الطباعة 0 1 2 3 4 اقتباس
0 Hassan Hedr نشر 24 سبتمبر 2021 أرسل تقرير نشر 24 سبتمبر 2021 الثلاث نقط تسمى صيغة النشر (Spread Syntax) ببساطة فكر بها أنها تنشر محتويات ما بعدها (بشرط أن يكون من النوع iterator) ...[1, 2, 3] // 1, 2, 3 .. [[1,2,3], {name: 'ahmed'}, 'abc'] // [1,2,3], {name: 'ahmed'}, 'abc' يستفاد منها عند تعريف مصفوفة، ونريد نشر عناصر مصفوفة داخلها const arr = [1, 2, 3] console.log([...arr, 4, 5, 6]) // [1, 2, 3, 4, 5, 6] كما نشر المصفوفات، يستفاد منها لنشر الأغراض أيضا عند تعريف غرض const obj = {name: 'Ahmed'}; console.log({ ...obj, age: 25 }) // { name: 'Ahmed', age: 25 } يستفاد منها عند تمرير معاملات لتابع، ولديك المعاملات في مصفوفة تقوم بنشرها ثم تمريرها كالتالي function sum(x, y, z) { return x + y + z; } const numbers = [1, 2, 3]; console.log(sum(...numbers)); // 6 // الاستدعاء السابق يكافئ الاستدعاء التالي console.log(sum(1, 2, 3)); // 6 اقتباس
السؤال
مصطفى اوريك
السلام عليكم.
ما الذي يعنيه هذا الكود ؟ :
الجزء الذي به بعض الغموض حاليا لدي هي تلك النقاط الثلاث, فما فائدتها ؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.