عاملَا النشر والتجميع
?????? ?????? ... ???????. ???? spread ????? ????? ???? ????? ??????? ??? ????? ??????? ????? rest ???? ?? ?????. ?????? ?? ??????? ?? ???? ???? ???????.
نشر القيم
const extras = ["mint", "lemon"];
const menu = ["tea", ...extras];
console.log(menu.join(" / "));
????? ??????? ?? tea / mint / lemon. ?? ????? extras ????? ????? ?? ????? ??????? ??? ???????? ???????.
نسخ المصفوفة
const extras = ["mint", "lemon"];
const copy = [...extras];
copy[0] = "ginger";
console.log(extras[0]);
console.log(copy[0]);
copy ?????? ?????? ?????? ???? ?? ????? ??????? extras. ??? ???? ?????: ???? ???????? ?? ????????? ????????? ??????.
نشر object
const order = { guest: "lida", drink: "tea" };
const withSize = { ...order, size: "regular" };
console.log(order.size);
console.log(withSize.size);
order ?? ???? size? ??? withSize ??????. ??? ?????? ???? ?????? ?? ???? ????? ?????????.
جمع الباقي بـ rest
const menu = ["tea", "mint", "lemon"];
const [first, ...remaining] = menu;
const order = { guest: "lida", drink: "tea" };
const { guest, ...details } = order;
console.log(first, remaining, details);
first ????? tea ?remaining ????? ["mint", "lemon"]. ????? details ??? drink ?? ??? guest. ??? ?????? ????? ?? ??? ??????? ??????.
معاملات rest
<!doctype html>
<html lang="en">
<head><meta charset="utf-8"><title>Spread and Rest</title></head>
<body>
<p id="result"></p>
<script>
const extras = ["mint", "lemon"];
const menu = ["tea", ...extras];
function list(first, ...others) {
return [first, ...others].join(" / ");
}
document.getElementById("result").textContent = list(...menu);
</script>
</body>
</html>
?? list(...menu) ??? ??????? ??? ?????????. ??? function list(first, ...others) ???? rest ??????? ???????? ?? ?????? ??????. ?????? ?????? tea / mint / lemon.
يوضح الجدول الفرق: النقاط نفسها، لكن موضعها يحدد هل توسّع JavaScript القيم أم تجمع ما تبقى.
📊 ?????? ????? ????????
| ?????? | ?????? | ???? |
|---|---|---|
| ?????? ?? object ?? ??????? | spread ????? | [..., extras]? { ...order }? list(...menu) |
| ??? ?? ????? | rest ???? | const [first, ...remaining] = menu? function list(first, ...others) |
تدريب قصير
???? copy[0] ?????? ?? extras[0]. ??? ?????? ???????? ????? ?? ????? ?????.
أخطاء شائعة
?? ??? ????? rest ?? ??? ???????? ??? ????? ????? ??????? ??? ???? ??? ??????? ??????.
الخلاصة
???? spread ?? ?????? ?? object ?? ??????? ????? ????? ???? rest ?? ??? ?? ?????. ??? ??????? ???????? ????????.
🧠 اختبر معرفتك
اختبر معرفتك
تحدى نفسك مع هذا الاختبار التفاعلي واكتشف مدى فهمك للموضوع
📝 التعليمات
- اقرأ كل سؤال بعناية
- اختر أفضل إجابة لكل سؤال
- يمكنك إعادة الاختبار عدة مرات كما تريد
- سيتم عرض تقدمك في الأعلى