العمل مع الكائنات والمصفوفات باستخدام الراحة والانتشار

تعلم طريقتين حديثتين للعمل مع المصفوفات والكائنات في JavaScript

يمكنك توسيع مصفوفة أو كائن أو سلسلة باستخدامانتشار المشغل ....

لنبدأ بمثال مصفوفة. معطى

const a = [1, 2, 3]

يمكنك إنشاء مجموعة جديدة باستخدام

const b = [...a, 4, 5, 6]

يمكنك أيضًا إنشاء نسخة من مصفوفة باستخدام

const c = [...a]

هذا يعمل مع الأشياء أيضًا. استنساخ كائن باستخدام:

const newObj = { ...oldObj }

باستخدام السلاسل ، ينشئ عامل الانتشار مصفوفة بكل حرف في السلسلة:

const hey = 'hey'
const arrayized = [...hey] // ['h', 'e', 'y']

هذا المشغل لديه بعض التطبيقات المفيدة جدا. الأهم هو القدرة على استخدام مصفوفة كوسيطة دالة بطريقة بسيطة للغاية:

const f = (arg1, arg2) => {}
const a = [1, 2]
f(...a)

(في الماضي كان يمكنك القيام بذلك باستخدام ملفاتf.apply(null, a)لكن هذا ليس لطيفًا ومقروءًا)

العنصر الراحةمفيد عند العمل معتدمير مجموعة:

const numbers = [1, 2, 3, 4, 5]
[first, second, ...others] = numbers

وانتشار العناصر:

const numbers = [1, 2, 3, 4, 5]
const sum = (a, b, c, d, e) => a + b + c + d + e
const sumOfNumbers = sum(...numbers)

يقدم ES2018 خصائص الراحة ، والتي هي نفسها ولكن للكائنات.

خصائص الراحة:

const { first, second, ...others } = {
  first: 1,
  second: 2,
  third: 3,
  fourth: 4,
  fifth: 5
}

first // 1 second // 2 others // { third: 3, fourth: 4, fifth: 5 }

خصائص انتشارالسماح بإنشاء كائن جديد من خلال الجمع بين خصائص الكائن الذي تم تمريره بعد عامل الانتشار:

const items = { first, second, ...others }
items //{ first: 1, second: 2, third: 3, fourth: 4, fifth: 5 }

المزيد من دروس js: