Window.pipedriveLeadboosterConfig = { القاعدة: 'leadbooster-chat.pipedrive.com', companyId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', الإصدار: 2, } ؛(الدالة () { var w = نافذة إذا كان (w.LeadBooster) { console.warn('LeadBooster موجود بالفعل') } وإلا { { w.LeadBooster = { q: [], على: دالة (ن، ح) { { هذا.q.push({ t: 'o'، n: n، n: n، h: h }) }, الزناد: الدالة (n) { هذا.q.push({ t: 't'، n: n: n }) }, } } })() ثلاث نقاط مفيدة - الباقي والانتشار في JavaScript - The Codest
The Codest
  • نبذة عنا
  • الخدمات
    • تطوير البرمجيات
      • تطوير الواجهة الأمامية
      • تطوير الواجهة الخلفية
    • Staff Augmentation
      • مطورو الواجهة الأمامية
      • مطورو الواجهة الخلفية
      • مهندسو البيانات
      • مهندسو السحابة
      • مهندسو ضمان الجودة
      • أخرى
    • استشاري
      • التدقيق والاستشارات
  • الصناعات
    • التكنولوجيا المالية والمصرفية
    • E-commerce
    • أدتك
    • التكنولوجيا الصحية
    • التصنيع
    • الخدمات اللوجستية
    • السيارات
    • إنترنت الأشياء
  • القيمة مقابل
    • CEO
    • CTO
    • مدير التوصيل
  • فريقنا
  • دراسات الحالة
  • اعرف كيف
    • المدونة
    • اللقاءات
    • ندوات عبر الإنترنت
    • الموارد
الوظائف تواصل معنا
  • نبذة عنا
  • الخدمات
    • تطوير البرمجيات
      • تطوير الواجهة الأمامية
      • تطوير الواجهة الخلفية
    • Staff Augmentation
      • مطورو الواجهة الأمامية
      • مطورو الواجهة الخلفية
      • مهندسو البيانات
      • مهندسو السحابة
      • مهندسو ضمان الجودة
      • أخرى
    • استشاري
      • التدقيق والاستشارات
  • القيمة مقابل
    • CEO
    • CTO
    • مدير التوصيل
  • فريقنا
  • دراسات الحالة
  • اعرف كيف
    • المدونة
    • اللقاءات
    • ندوات عبر الإنترنت
    • الموارد
الوظائف تواصل معنا
السهم الخلفي العودة إلى الوراء
2019-11-25
تطوير البرمجيات

ثلاث نقاط مفيدة - الباقي والانتشار في JavaScript

لوكاش كولكو

جلب لنا ECMAScript 2015 الكثير من الأخبار، والتي نتج عنها عدد كبير من التحسينات. اليوم سنلقي نظرة فاحصة على ميزتين تجعل الحياة أسهل. تعرّف على بقية المقاييس وصيغة الانتشار.

معلمات الباقي

تسمح لنا صيغة الباقي بتمثيل عدد غير محدد من الوُسطاء على شكل مصفوفة. ألقِ نظرة على الدالة التي تجمع كل الوُسطاء التي تم تمريرها.

const sum = (....args) => args.reduce((prev, current) => prev + current));

وحدة التحكم.log(مجموع(1، 2))؛ // 3
console.log(sum(1, 2, 3))؛ // 6

بناء جملة الانتشار

يسمح لنا عامل الانتشار بتوسيع الكائنات القابلة للتكرار إلى عناصر فردية. هذه الوظيفة هي عكس ما حققناه مع معاملات البقية. يمكن تطبيقها على جميع العناصر القابلة للتكرار، مثل المصفوفات، والكائنات، والمجموعات، والخرائط، إلخ.

const sum = (x، y، z) => x + y + z;
تشكل الأرقام = [1، 2، 3];

console.log(sum(...numbers))؛ // 6

ثلاث نقاط في حالات الاستخدام الحقيقي

نسخ مصفوفة

تنتقل صيغة الانتشار بشكل فعال إلى مستوى واحد أعمق أثناء نسخ مصفوفة. مستوى واحد يعني نسخ المستوى الأول من المراجع.

const array0 = [1، [2، 3]];
const array1 = [...array0];

وحدة التحكم، سجل(array1)؛ // [1، [2، 3]]

إنشاء مصفوفة من العناصر الفريدة

أنشئ المجموعة التي تخزّن العناصر الفريدة فقط وحوّل ظهرها إلى مصفوفة.

تشكل صفيف = [1، 1، 2، 3];
const uniqueElements = [...مجموعة جديدة (مصفوفة)];

وحدة التحكم.log(عناصر فريدة)؛ // [1، 2، 3]

ربط المصفوفات المتسلسلة

تشكل مصفوفة0 = [1، 2];
تشكل مصفوفة1 = [3، 4];
مجمعة = [...مصفوفة0، ...مصفوفة1];

console.log(concated)؛ // [1، 2، 3، 4]

تقطيع المصفوفة

const [firstElement, ...newArray] = [1, 2, 3, 4];

وحدة التحكم.log(firstElement)؛ // 1
console.log(newArray) ؛ // [2، 3، 4]

يمكننا أيضًا إزالة n العناصر الأولى بفاصلة.

const [،،،، ...مصفوفة جديدة] = [1، 2، 3، 4];

console.log(newArray); // [4]

إدراج مصفوفة في بداية مصفوفة أخرى

تشكل مصفوفة0 = [4، 5، 6];
تشكل مصفوفة1 = [1، 2، 3];
const newArray = [...array1، ...array0];

وحدة التحكم.log(مصفوفة جديدة)؛ // [ 1، 2، 3، 4، 5، 6]

توليد مصفوفة من الأرقام من 0 إلى n

const array = [...Array(10)].map((_، i) => i);

console.log(array) ؛ // [ 0, 1, 2, 3, 3, 4, 5, 6, 7, 8, 9 ]

إعادة هيكلة كائن

const { x, y, ...z } = { س: 1، ص: 2، أ: 3، ب: 4 };

console.log(x)؛ // 1
console.log(y)؛ // 2
console.log(z)؛ // { a: 3, b: 4 }

إنشاء نسخة من كائن

دع الشخص = {
  الاسم: 'جون',
  العمر: 25,
  المحفظة: {
    المجموع: 500,
    العملة: 'USD'
  }
};
دع نسخة الشخص = { ...الشخص };

console.log(personCopy);
// {
// الاسم: 'جون',
// العمر: 25,
// المحفظة: {
// المجموع: 500,
// العملة: 'USD'
// }
// }

لاحظ أن نسخة الكائن التي يتم إنشاؤها هي كائن جديد بجميع خصائص الكائن الأصلي ولكن لا تحتوي على أي من معلوماته النموذجية.

الشخص.العمر = 20;

وحدة التحكم.log(person.age)؛ // 20
console.log(personCopy.age)؛ // 25

لاحظ أن بناء الجملة المنتشر ينشئ نسخة "سطحية" من الكائن، لذا سيتم نسخ خاصية "المحفظة" كمرجع للكائن الفرعي الأصلي فقط. للاستنساخ العميق، يمكنك استخدام طريقة JSON stringify / parse أو طريقة "استنساخ عميق" التي يوفرها Lodash اعتمادًا على مدى تعقيد الكائن الخاص بك. في بعض الحالات يمكن أن تكون هذه الطريقة مفيدة أيضًا:

دع نسخة الشخص = {...الشخص، المحفظة = {...محفظة الشخص...المحفظة}}; 

إضافة خصائص مشروطة إلى الكائنات

يمكننا إضافة الخصائص بشكل مشروط إلى كائن جديد نقوم بإنشائه عن طريق استخدام عامل الانتشار مع تقييم الدائرة القصيرة.

تشكل الألوان = {
  أحمر: '#ff0000',
  الأخضر: '#00ff00',
  أزرق '#0000ff'
};
يشكل الأسود = {
  أسود: '#000000'
};

دع الأسود الإضافي = خطأ;
دع الدمج الشرطي = {
  ...الألوان,
  ...(extraBlack ? أسود : {})
};

console.log(conditionalMerge);
// {
// أحمر: '#ff0000',
// الأخضر: '#00ff00',
// أزرق: '#0000ff'
// }

أسود إضافي = صحيح;
دمج شرطي = {
  ...الألوان,
  ...(extraBlack ? أسود : {})
};

console.log(conditionalMerge);
// {
// أحمر: '#ff0000',
// الأخضر: '#00ff00',
// أزرق: '#0000ff'
// أسود: '#000000'
// }

تقسيم سلسلة إلى أحرف

يشبه هذا استدعاء طريقة التقسيم باستخدام سلسلة فارغة كمعامل.

const split = [....'qwerty'];
console.log(انقسام)؛ [ [ 'q'، 'w'، 'e'، 'r'، 't'، 'y']

استشارات تطوير المنتجات الرقمية

اقرأ المزيد:

3 تحديات مشتركة في تطوير منتجات البرمجيات للشركات الناشئة

أفضل أنواع المشاريع لجافا

كيف لا تقتل مشروعاً بممارسات الترميز السيئة؟

مقالات ذات صلة

تطوير البرمجيات

إنشاء تطبيقات ويب مستقبلية: رؤى من فريق خبراء The Codest

اكتشف كيف تتفوق شركة The Codest في إنشاء تطبيقات ويب تفاعلية قابلة للتطوير باستخدام أحدث التقنيات، وتقديم تجارب مستخدم سلسة عبر جميع المنصات. اكتشف كيف تقود خبرتنا التحول الرقمي والأعمال التجارية...

ذا كوديست
تطوير البرمجيات

أفضل 10 شركات لتطوير البرمجيات في لاتفيا

تعرّف على أفضل شركات تطوير البرمجيات في لاتفيا وحلولها المبتكرة في أحدث مقالاتنا. اكتشف كيف يمكن لهذه الشركات الرائدة في مجال التكنولوجيا المساعدة في الارتقاء بأعمالك.

thecodest
الحلول المؤسسية وحلول التوسعة

أساسيات تطوير برمجيات جافا: دليل للاستعانة بمصادر خارجية بنجاح

استكشف هذا الدليل الأساسي حول تطوير برمجيات جافا outsourcing بنجاح لتعزيز الكفاءة والوصول إلى الخبرة وتحقيق نجاح المشروع باستخدام The Codest.

thecodest
تطوير البرمجيات

الدليل الشامل للاستعانة بمصادر خارجية في بولندا

إن الطفرة في outsourcing في بولندا مدفوعة بالتقدم الاقتصادي والتعليمي والتكنولوجي، مما يعزز نمو تكنولوجيا المعلومات والمناخ الملائم للأعمال.

ذا كوديست
الحلول المؤسسية وحلول التوسعة

الدليل الكامل لأدوات وتقنيات تدقيق تكنولوجيا المعلومات

تضمن عمليات تدقيق تكنولوجيا المعلومات وجود أنظمة آمنة وفعالة ومتوافقة. تعرف على المزيد حول أهميتها من خلال قراءة المقال كاملاً.

The Codest
ياكوب جاكوب جاكوبوفيتش CTO وشريك مؤسس CTO

اشترك في قاعدة معارفنا وابقَ على اطلاع على آخر المستجدات في قطاع تكنولوجيا المعلومات.

    نبذة عنا

    The Codest - شركة دولية لتطوير البرمجيات لها مراكز تقنية في بولندا.

    المملكة المتحدة - المقر الرئيسي

    • المكتب 303 ب، 182-184 شارع هاي ستريت نورث E6 2JA
      لندن، إنجلترا

    بولندا - مراكز التكنولوجيا المحلية

    • مجمع مكاتب فابريتشنا المكتبي، أليجا
      بوكوجو 18، 31-564 كراكوف
    • سفارة الأدمغة، كونستروكتورسكا
      11, 02-673 02-673 وارسو، بولندا

      The Codest

    • الصفحة الرئيسية
    • نبذة عنا
    • الخدمات
    • دراسات الحالة
    • اعرف كيف
    • الوظائف
    • القاموس

      الخدمات

    • استشاري
    • تطوير البرمجيات
    • تطوير الواجهة الخلفية
    • تطوير الواجهة الأمامية
    • Staff Augmentation
    • مطورو الواجهة الخلفية
    • مهندسو السحابة
    • مهندسو البيانات
    • أخرى
    • مهندسو ضمان الجودة

      الموارد

    • حقائق وأساطير حول التعاون مع شريك خارجي لتطوير البرمجيات
    • من الولايات المتحدة الأمريكية إلى أوروبا: لماذا تقرر الشركات الأمريكية الناشئة الانتقال إلى أوروبا؟
    • مقارنة مراكز تطوير التكنولوجيا في الخارج: تك أوفشور أوروبا (بولندا)، آسيان (الفلبين)، أوراسيا (تركيا)
    • ما هي أهم التحديات التي تواجه CTOs ومديري تكنولوجيا المعلومات؟
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • شروط استخدام الموقع الإلكتروني

    جميع الحقوق محفوظة © 2025 بواسطة The Codest. جميع الحقوق محفوظة.

    arArabic
    en_USEnglish de_DEGerman sv_SESwedish da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish it_ITItalian jaJapanese ko_KRKorean es_ESSpanish nl_NLDutch etEstonian elGreek arArabic