تتÙÙÙØ¹ Ø§ÙØ¹Ø¯Ùد Ù Ù Ø¯ÙØ§Ù Ø¬Ø§ÙØ§ Ø³ÙØ±Ùبت اÙ٠ض٠ÙÙØ© Ù٠اÙÙØºØ© Ø¹Ø¯Ø¯ÙØ§ ٠٠اÙÙÙØ³Ø·Ø§Ø¡ ÙØ§ ÙÙØªÙÙ.
٠ثاÙ:
âMath.max(arg1, arg2, ..., argN)ââ ÙÙØ¹Ùد Ø£ÙØ¨Ø± ÙØ³ÙØ· ٠٠اÙÙÙØ³Ø·Ø§Ø¡.âObject.assign(dest, src1, ..., srcN)ââ ÙÙØ³Ø® Ø§ÙØ®ØµØ§Ø¦Øµ Ù Ùâsrc1..NâØ¥ÙÙâdestâ.- â¦ÙÙÙØ°Ø§.
Ø³ÙØªØ¹ÙÙÙ ÙÙ ÙØ°Ø§ اÙÙØµÙ ÙÙÙ ÙÙØ¹Ù ذÙÙ Ø£ÙØ¶Ùا. Ù٠ا ÙÙÙÙ ÙÙ Ø±ÙØ± اÙ٠صÙÙÙØ§Øª Ø¥ÙÙ ÙØ°Ù Ø§ÙØ¯Ùا٠عÙ٠أÙÙÙØ§ Ù ÙØ¹Ø§Ù ÙØ§Øª.
اÙÙ
ÙØ¹Ø§Ù
ÙØ§Øª Â«Ø§ÙØ¨ÙÙØ©Â» ...
ÙÙ Ù٠أ٠ÙÙØ§Ø¯Ù Ø§ÙØ¯Ø§ÙØ© بأÙ٠عدد ٠٠اÙÙÙØ³Ø·Ø§Ø¡ ÙÙÙ٠ا ÙØ§Ùت ٠عرÙÙØ© Ø§ÙØ¯Ø§ÙØ©.
ÙÙØ°Ø§:
function sum(a, b) {
return a + b;
}
alert( sum(1, 2, 3, 4, 5) );
Ù٠تر٠أÙ٠خطأ بسبب تÙ٠اÙÙÙØ³Ø·Ø§Ø¡ Â«Ø§ÙØ²Ø§Ø¦Ø¯Ø©Â». ÙÙÙÙ Ø·Ø¨Ø¹ÙØ§ ÙØ§ÙÙØªÙجة Ù٠تأخذ Ø¨Ø§ÙØØ³Ø¨Ø§Ù Ø¥ÙØ§ Ø£ÙÙ٠اثÙÙÙ.
ÙÙ
Ù٠تضÙ
Ù٠بÙÙØ© اÙÙ
ÙØ¹Ø§Ù
ÙØ§Øª Ù٠تعرÙÙ Ø§ÙØ¯Ø§ÙØ© باستعÙ
Ø§Ù Ø§ÙØ«Ùاث ÙÙØ§Ø· â...â Ø«Ù
٠اسÙ
اÙÙ
صÙÙÙØ© Ø§ÙØªÙ Ø³ØªØØªÙÙÙÙ
. تعÙ٠تÙ٠اÙÙÙØ· ØØ±ÙÙÙØ§ «اجÙ
ع اÙÙ
ÙØ¹Ø§Ù
ÙØ§Øª Ø§ÙØ¨Ø§ÙÙØ© ÙÙ Ù
صÙÙÙØ©Â».
ÙÙ
Ø«ÙÙØ§ ÙØ¬Ù
ع ÙÙ٠اÙÙÙØ³Ø·Ø§Ø¡ Ù٠اÙÙ
صÙÙÙØ© âargsâ:
function sumAll(...args) { // â«Ø§Ø³Ù
اÙÙ
صÙÙÙØ© ÙÙ args
let sum = 0;
for (let arg of args) sum += arg;
return sum;
}
alert( sumAll(1) ); // 1
alert( sumAll(1, 2) ); // 3
alert( sumAll(1, 2, 3) ); // 6
ÙÙ ÙÙ ÙÙ Ø£Ø±Ø¯ÙØ§ Ø£Ù ÙØ£Ø®Ø° اÙÙ ÙØ¹Ø§Ù ÙØ§Øª Ø§ÙØ£ÙÙÙ Ù٠٠تغÙÙØ±Ø§Øª ÙÙØ¬Ù ع Ø§ÙØ¨ÙÙØ© ÙÙØ·.
ÙÙØ§ ÙØ£Ø®Ø° اÙÙØ³ÙØ·ÙÙ Ø§ÙØ£ÙÙÙÙÙ ÙÙ Ù
ØªØºÙØ±Ø§Øª ÙØ§ÙباÙÙ ÙØ±Ù
ÙÙ Ù٠اÙÙ
صÙÙÙØ© âtitlesâ:
function showName(firstName, lastName, ...titles) {
alert( firstName + ' ' + lastName ); // Julius Caesar
// â«Ø§ÙباÙÙ ÙØ¶Ø¹Ù ÙÙ Ù
صÙÙÙØ© Ø§ÙØ£Ø³Ù
اء titles
// â«Ù
Ø«ÙÙØ§ titles = ["Consul", "Imperator"]â
alert( titles[0] ); // Consul
alert( titles[1] ); // Imperator
alert( titles.length ); // 2
}
showName("Julius", "Caesar", "Consul", "Imperator");
تج٠ع اÙÙ ÙØ¹Ø§Ù ÙØ§Øª Ø§ÙØ¨ÙÙØ© ÙÙ٠اÙÙÙØ³Ø·Ø§Ø¡ Ø§ÙØªÙ بÙÙØª. ÙØ¨Ùذا ÙØ§Ùآت٠ÙÙØ³ Ù ÙØ·ÙÙÙØ§ ÙØ³ÙØªØ³Ø¨ÙØ¨ بخطأ:
function f(arg1, ...rest, arg2) { // â«Ø§ÙÙØ³ÙØ· arg2 بعد ...Ø§ÙØ¨ÙÙØ©Ø!
// خطأ
}
ÙØ¬Ø¨ Ø£Ù ÙÙÙÙ â...restâ Ø§ÙØ£Ø®ÙØ± دÙÙ
ÙØ§.
٠تغÙÙØ± اÙÙÙØ³Ø·Ø§Ø¡ arguments
ÙÙØ§Ù ÙØ§Ø¦Ù آخر شبÙ٠باÙÙ
صÙÙÙØ§Øª ÙÙØ¯Ø¹Ù âargumentsâ ÙÙØØªÙ٠عÙÙ ÙÙ٠اÙÙÙØ³Ø·Ø§Ø¡ ØØ³Ø¨ ØªØ±ØªÙØ¨ ÙÙØ§Ø±Ø³Ùا.
٠ثاÙ:
function showName() {
alert( arguments.length );
alert( arguments[0] );
alert( arguments[1] );
// اÙÙ
صÙÙÙØ© Ù
ÙØªØ¹Ø¯ÙÙØ¯Ø©
// for(let arg of arguments) alert(arg);
}
// â«ØªØ¹Ø±Ø¶: 2, Julius, Caesar
showName("Julius", "Caesar");
// â«ØªØ¹Ø±Ø¶: 1, Ilya, undefined (Ù
ا Ù
Ù Ù
ÙØ¹Ø·Ù ثاÙÙ)
showName("Ilya");
ÙØ¯ÙÙ
ÙØ§ ÙÙ
تÙ٠اÙÙ
ÙØ¹Ø§Ù
ÙØ§Øª Ø§ÙØ¨ÙÙØ© Ù
ÙØ¬Ùدة Ù٠اÙÙØºØ© ÙÙÙ
ÙÙÙ ÙØ¯ÙÙØ§ سÙ٠استعÙ
ا٠âargumentsâ ÙÙØ¬Ùب ÙÙÙ Ù
ÙØ¹Ø§Ù
ÙØ§Øª Ø§ÙØ¯Ø§ÙØ©. ÙÙ
ا Ø²Ø§ÙØª تعÙ
Ù Ø§ÙØ·Ø±ÙÙØ© Ø¥ÙÙ ÙÙÙ
ÙØ§ ÙØ°Ø§ ÙÙÙ
ÙÙ Ø£Ù ØªØ±Ø§ÙØ§ ÙÙ Ø§ÙØ´ÙÙØ±Ø§Øª اÙÙØ¯ÙÙ
Ø©.
ÙÙÙÙ Ø§ÙØ³ÙØ¨ÙØ© ÙÙØ§ Ù٠أÙÙ âargumentsâ ÙÙØ³Øª Ù
صÙÙÙØ© (عÙÙ Ø§ÙØ±ØºÙ
Ù
٠أÙÙÙØ§ شبÙÙØ© باÙÙ
صÙÙÙØ§Øª ÙÙ
ÙØªØ¹Ø¯Ùدة). Ø¨ÙØ°Ø§ ÙØ§ تدعÙ
ØªÙØ§Ø¨Ùع اÙÙ
صÙÙÙØ§Øª ÙÙØ§ ÙÙÙØ¹ Ø£Ù ÙØ³ØªØ¯Ø¹Ù عÙÙÙØ§ âarguments.map(...)â Ù
Ø«ÙÙØ§.
Ù٠ا ÙØ£ÙÙÙØ§ ØªØØªÙ٠عÙÙ Ù٠اÙÙÙØ³Ø·Ø§Ø¡ دÙÙ ÙØ§. ÙØ§ ÙÙ ÙÙ Ø£Ù ÙØ£Ø®Ø° Ù ÙÙØ§ ٠ا ÙØ±Ùد Ù٠ا ÙÙØ¹Ù ٠ع اÙÙ ÙØ¹Ø§Ù ÙØ§Øª Ø§ÙØ¨ÙÙØ©.
ÙÙØ°Ø§ Ù
ت٠Ù
ا Ø§ØØªØ¬Ùا Ø¥ÙÙ Ù
ÙØ²Ø© ÙÙØ°ÙØ ÙØ§ÙØ£ÙØ¶Ù استعÙ
ا٠اÙÙ
ÙØ¹Ø§Ù
ÙØ§Øª Ø§ÙØ¨ÙÙØ© بدÙÙØ§ Ù
Ù âargumentsâ.
ÙÙØ³ ÙÙØ¯ÙØ§Ù Ø§ÙØ³ÙÙ
ÙØ© â"arguments"â
ÙÙ ØØ§ÙÙØª اÙÙØµÙ٠إÙÙ ÙØ§Ø¦Ù اÙÙÙØ³Ø·Ø§Ø¡ âargumentsâ Ù
Ù Ø¯Ø§Ø®Ù Ø§ÙØ¯Ø§ÙØ© Ø§ÙØ³ÙÙ
ÙØ©Ø ÙØ³ØªØ³ØªÙÙ
اÙÙØ§ØªØ¬ Ù
Ù Ø§ÙØ¯Ø§ÙØ© Â«Ø§ÙØ·Ø¨ÙØ¹ÙØ©Â» Ø§ÙØ®Ø§Ø±Ø¬ÙØ©. Ø¥ÙÙÙ Ù
ثاÙÙØ§:
function f() {
let showArg = () => alert(arguments[0]);
showArg();
}
f(1); // 1
ÙÙ
ا ÙØ°Ùر ÙÙÙØ³ ÙÙØ¯ÙØ§Ù Ø§ÙØ³ÙÙ
ÙØ© ÙÙÙ
Ø© âthisâ ØªØ®ØµÙÙØ§Ø Ø£Ù
ÙØ§ Ø§ÙØ¢Ù ØµØ±ÙØ§ ÙØ¹ÙÙ
بأÙÙ ÙÙØ³ ÙÙØ§ ÙØ§Ø¦Ù âargumentsâ Ø£ÙØ¶ÙØ§.
Ù ÙØ¹Ø§Ù Ù Ø§ÙØªÙØ²ÙØ¹
رأÙÙØ§ ÙÙÙ ÙØ£Ø®Ø° ٠صÙÙÙØ© Ù Ù ÙØ§Ø¦Ù Ø© ٠٠اÙÙ ÙØ¹Ø·Ùات.
ÙÙÙ٠٠اذا ÙÙ Ø£Ø±Ø¯ÙØ§ Ø§ÙØ¹Ùس ٠٠ذÙÙØ
ÙÙ Ø«ÙÙØ§ ÙÙÙÙ Ø£Ø±Ø¯ÙØ§ Ø§Ø³ØªØ¹Ù Ø§Ù Ø§ÙØ¯Ø§ÙØ© اÙ٠بÙÙØ© Ù٠اÙÙØºØ© Math.max ÙØ§ÙØªÙ ØªÙØ¹Ùد Ø£ÙØ¨Ø± عدد ٠٠اÙÙØ§Ø¦Ù Ø©:
alert( Math.max(3, 5, 1) ); // 5
ÙÙÙ٠أÙÙ ÙØ¯ÙÙØ§ اÙÙ
صÙÙÙØ© â[3, 5, 1]â. ÙÙÙ ÙØ³ØªØ¯Ø¹Ù âMath.maxâ Ø¹ÙÙÙØ§Ø
ÙØ§ ÙÙÙØ¹ تÙ
Ø±ÙØ±Ùا «ÙÙ
ا ÙÙ» ÙØ£ÙÙ âMath.maxâ ÙØªÙÙÙØ¹ ÙØ§Ø¦Ù
ة٠باÙÙÙØ³Ø·Ø§Ø¡ Ø§ÙØ¹Ø¯Ø¯ÙØ© ÙØ§ Ù
صÙÙÙØ© ÙØ§ØØ¯Ø©:
let arr = [3, 5, 1];
alert( Math.max(arr) ); // NaN
ÙØ·Ø¨Ø¹Ùا ÙØ§ ÙÙ
Ù٠أ٠ÙÙÙÙ Ø¹ÙØ§ØµØ± اÙÙØ§Ø¦Ù
Ø© ÙØ¯ÙÙÙØ§ ÙÙ Ø§ÙØ´ÙÙØ±Ø© âMath.max(arr[0], arr[1], arr[2])â ÙØ£ÙÙÙØ§ ÙÙ ØØ§Ùات ÙØ§ ÙØ¹Ø±Ù ÙÙ
Ù
Ù Ø¹ÙØµØ± ÙÙØ§Ù أصÙÙØ§. ÙÙ
ا Ø¥Ù ÙØªÙÙÙØ° Ø§ÙØ³Ùربت ÙÙ
Ù٠أ٠ÙÙÙÙ ÙÙÙ Ø£ÙØ¨Ø± Ù
Ù
ا ÙØªØ¨ÙØ§Ù Ø£Ù ØØªÙÙ ÙØ§ Ø´ÙØ¡ أصÙÙØ§Ø ÙØ³ÙØØµØ¯ ÙØ§ØÙÙØ§ Ù
ا Ø¬ÙØªÙ ÙØ°Ù Ø§ÙØ´ÙÙØ±Ø©.
عاش Ù
ÙÙÙØ°Ùا Ù
ÙØ¹Ø§Ù
Ù Ø§ÙØªÙØ²ÙØ¹! عاش عاش عاش! Ù
Ù Ø¨Ø¹ÙØ¯ ÙØ±Ø§Ù Ù
شابÙÙØ§ تÙ
اÙ
ÙØ§ ÙÙÙ
ÙØ¹Ø§Ù
ÙØ§Øª Ø§ÙØ¨ÙÙØ©Ø ÙÙ
ا ÙÙØ³ØªØ¹Ù
Ù â...âØ Ø¥ÙÙØ§ Ø£ÙÙ ÙØ¸ÙÙØªÙ ÙÙ Ø§ÙØ¹Ùس تÙ
اÙ
ÙØ§.
ÙØÙÙ ÙØ³ØªØ¹Ù
Ù ââ...arrâ Ù٠استدعاء Ø§ÙØ¯Ø§ÙØ©Ø Â«ÙØªÙØ³ÙØ¹Â» اÙÙØ§Ø¦Ù اÙÙ
ÙØªØ¹Ø¯ÙÙØ¯ â...arrâ Ø¥ÙÙ ÙØ§Ø¦Ù
Ø© Ù
٠اÙÙÙØ³Ø·Ø§Ø¡.
ÙÙ
Ø«ÙÙØ§ ÙØ¹Ùد Ø¥ÙÙ âMath.maxâ:
let arr = [3, 5, 1];
// â«5 (ÙØÙÙÙ Ø§ÙØªÙØ²ÙØ¹ اÙÙ
صÙÙÙØ© Ø¥ÙÙ ÙØ§Ø¦Ù
Ø© Ù
٠اÙÙÙØ³Ø·Ø§Ø¡)
alert( Math.max(...arr) );
ÙÙ ÙÙ Ø£ÙØ¶Ùا Ø£Ù ÙÙ Ø±ÙØ± Ø£ÙØ«Ø± Ù Ù Ù ÙØªØ¹Ø¯ÙÙØ¯ ÙØ§ØØ¯ Ø¨ÙØ°Ù Ø§ÙØ·Ø±ÙÙØ©:
let arr1 = [1, -2, 3, 4];
let arr2 = [8, 3, -8, 1];
alert( Math.max(...arr1, ...arr2) ); // 8
Ø£Ù ØØªÙÙ ÙØ¯Ù ج Ù ÙØ¹Ø§Ù Ù Ø§ÙØªÙØ²ÙØ¹ ٠ع اÙÙÙÙ Ø§ÙØ¹Ø§Ø¯ÙØ©:
let arr1 = [1, -2, 3, 4];
let arr2 = [8, 3, -8, 1];
alert( Math.max(1, ...arr1, 2, ...arr2, 25) ); // 25
Ù٠ا ÙÙ ÙÙ Ø£Ù ÙØ³ØªØ¹Ù Ù Ù ÙØ¹Ø§Ù Ù Ø§ÙØªÙØ²ÙØ¹Ø© ÙØ¯Ù ج اÙ٠صÙÙÙØ§Øª:
let arr = [3, 5, 1];
let arr2 = [8, 9, 15];
let merged = [0, ...arr, 2, ...arr2];
alert(merged); // â«0,3,5,1,2,8,9,15 (0 Ø«Ù
Ù arr Ø«Ù
Ù 2 Ø«Ù
Ù arr2)
استع٠ÙÙØ§ ÙÙ Ø§ÙØ£Ù Ø«ÙØ© Ø£Ø¹ÙØ§Ù ٠صÙÙÙØ© ÙÙØ´Ø±Ø Ù ÙØ¹Ø§Ù Ù Ø§ÙØªÙØ²ÙØ¹Ø Ø¥ÙÙØ§ Ø£Ù٠اÙÙ ÙØªØ¹Ø¯ÙÙØ¯Ø§Øª Ø£ÙÙØ§ ÙØ§Ùت تÙÙØ¹ Ø£ÙØ¶Ùا.
ÙÙ Ø«ÙÙØ§ ÙØ³ØªØ¹Ù Ù ÙÙØ§ Ù ÙØ¹Ø§Ù Ù Ø§ÙØªÙØ²ÙØ¹ ÙÙØÙÙÙ Ø§ÙØ³ÙØ³ÙØ© اÙÙØµÙØ© Ø¥Ù٠٠صÙÙÙØ© Ù ØØ§Ø±Ù:
let str = "Hello";
alert( [...str] ); // H,e,l,l,o
ÙØ³ØªØ¹Ù
Ù Ù
ÙØ¹Ø§Ù
Ù Ø§ÙØªÙØ²ÙØ¹ ÙØ°Ø§ داخÙÙÙØ§ اÙÙ
ÙØ¹Ø¯ÙÙØ¯Ø§Øª ÙØ¬Ù
ع Ø§ÙØ¹ÙØ§ØµØ±Ø ÙÙ
ا ØªÙØ¹Ù ØÙÙØ© âfor..ofâ.
ÙØ°Ø§ Ù٠استÙÙ
ت âfor..ofâ Ø³ÙØ³ÙØ©Ù ÙØµÙÙØ© ÙØªÙØ¹ÙØ¯ ÙÙØ§ اÙÙ
ØØ§Ø±Ù ÙØªØµÙر ââ...strâ Ø¨Ø§ÙÙÙÙ
Ø© â"H","e","l","l","o"â. ÙÙÙØ°Ø§ تÙÙ
Ø±ÙØ± ÙØ§Ø¦Ù
Ø© اÙÙ
ØØ§Ø±Ù Ø¥ÙÙ Ù
ÙÙÙÙØ¦ اÙÙ
صÙÙÙØ© â[...str]â.
ÙÙ
ÙÙÙØ§ Ø£ÙØ¶Ùا ÙÙØ°Ù اÙÙ
ÙÙ
Ø© استعÙ
ا٠âArray.fromâ Ø¥Ø° Ø£ÙÙÙ ÙØÙÙ٠اÙÙ
ÙØªØ¹Ø¯ÙÙØ¯ (Ù
Ø«Ù Ø§ÙØ³Ùاس٠اÙÙØµÙØ©) Ø¥ÙÙ Ù
صÙÙÙØ©:
let str = "Hello";
// â«ÙÙØÙÙÙ Array.from اÙÙ
ÙØªØ¹Ø¯ÙÙØ¯ Ø¥ÙÙ Ù
صÙÙÙØ©
alert( Array.from(str) ); // H,e,l,l,o
ÙØ§ØªØ¬Ù Ù٠ذات ÙØ§ØªØ¬ â[â...str]â.
ÙÙÙÙ⦠ÙÙØ§Ù ÙØ±Ù ضئÙ٠بÙÙ âArray.from(obj)â Ùâ[...obj]â:
- ÙØ¹Ù
Ù
âArray.fromâØ¹ÙÙ Ø§ÙØ´Ø¨ÙÙØ§Øª باÙ٠صÙÙÙØ§Øª ÙØ§ÙÙ ÙØªØ¹Ø¯ÙÙØ¯Ø§Øª. - ÙÙØ¹Ù Ù Ù ÙØ¹Ø§Ù Ù Ø§ÙØªÙØ²ÙØ¹ عÙ٠اÙÙ ÙØªØ¹Ø¯ÙÙØ¯Ø§Øª ÙÙØ· ÙØ§ ØºÙØ±.
ÙØ°Ø§ Ù٠أردت تØÙÙÙ Ø´ÙØ¡ Ø¥ÙÙ Ù
صÙÙÙØ© ÙØ§ÙØªØ§Ø¨ÙØ¹ âArray.fromâ Ø£Ùثر استعÙ
اÙÙØ§ ÙØ´ÙÙØ¹Ùا.
Ø§ÙØØµÙ٠عÙÙ ÙØ³Ø®Ø© ٠٠اÙ٠صÙÙÙØ©/اÙÙØ§Ø¦Ù
Copy an array/object
ÙÙ
Ù٠أ٠تÙÙÙ
باÙÙ
ث٠ع٠طرÙÙ ....
Remember when we talked about Object.assign() in the past?
let arr = [1, 2, 3];
let arrCopy = [...arr]; // spread the array into a list of parameters
// then put the result into a new array
// ÙÙ Ù
تساÙÙÙÙØ
alert(arr === arrCopy); // خطأ (ÙÙØ³ ÙÙØ³ اÙÙ
رجع)
// تعدÙÙ Ù
صÙÙÙØªÙا Ø§ÙØ£ÙÙÙ ÙØ§ ÙØªÙ
تعدÙÙÙ Ù٠اÙÙØ³Ø®Ø©:
arr.push(4);
alert(arr); // 1, 2, 3, 4
alert(arrCopy); // 1, 2, 3
ÙØ§ØØ¸ Ø£Ù٠٠٠اÙÙ Ù Ù٠أ٠ÙÙÙ٠بÙÙØ³ Ø§ÙØ´Ø¦ ÙØµÙع ÙØ³Ø®Ø© ٠٠اÙÙØ§Ø¦Ù Ø£ÙØ¶Ø§Ù:
let obj = { a: 1, b: 2, c: 3 };
let objCopy = { ...obj }; // spread the object into a list of parameters
// then return the result in a new object
// Ù٠اÙÙØ§Ø¦Ùات تÙ
تÙÙ ÙÙØ³ اÙÙÙÙ
Ø©Ø
alert(JSON.stringify(obj) === JSON.stringify(objCopy)); // صØÙØ
// ÙÙ Ù
تساÙÙÙÙØ
alert(obj === objCopy); // خطأ (ÙÙØ³ ÙÙØ³ اÙÙ
رجع)
// تعدÙ٠اÙÙØ§Ø¦Ù Ø§ÙØ£ÙÙ ÙØ§ ÙØ¹Ø¯Ù Ù٠اÙÙØ³Ø®Ø©
obj.d = 4;
alert(JSON.stringify(obj)); // {"a":1,"b":2,"c":3,"d":4}
alert(JSON.stringify(objCopy)); // {"a":1,"b":2,"c":3}
This way of copying an object is much shorter than let objCopy = Object.assign({}, obj) or for an array let arrCopy = Object.assign([], arr) so we prefer to use it whenever we can.
Ù
ت٠رأÙÙØ§ â"..."â ÙÙ Ø§ÙØ´ÙÙØ±Ø© ÙØ¹Ø±Ù Ø£ÙÙ٠إÙ
ÙØ§ اÙÙ
ÙØ¹Ø§Ù
ÙØ§Øª Ø§ÙØ¨ÙÙØ© ÙØ£Ù
ÙØ§ Ù
ÙØ¹Ø§Ù
Ù Ø§ÙØªÙØ²ÙØ¹.
Ø¥ÙÙ٠طرÙÙØ© Ø¨Ø³ÙØ·Ø© ÙÙØªÙرÙ٠بÙÙÙ٠ا:
- ØÙ٠ترÙ
â...âÙ ÙØ¬Ùدة ÙÙ ÙÙØ§ÙØ© Ù ÙØ¹Ø§Ù ÙØ§Øª Ø§ÙØ¯Ø§ÙØ© ÙÙ٠«اÙÙ ÙØ¹Ø§Ù ÙØ§Øª Ø§ÙØ¨ÙÙØ©Â» ÙØ³ØªØ¬Ù ع بÙÙØ© ÙØ§Ø¦Ù Ø© اÙÙÙØ³Ø·Ø§Ø¡ Ù٠٠صÙÙÙØ©. - ÙØÙ٠ترÙ
â...âÙ٠استدعاء Ø¯Ø§ÙØ© أ٠٠ا شابÙÙ ÙÙÙ Â«Ù ÙØ¹Ø§Ù Ù ØªÙØ²Ùع» ÙÙØ³Ùع اÙ٠صÙÙÙØ© Ø¥ÙÙ ÙØ§Ø¦Ù Ø©.
Ø·ÙØ±Ù Ø§ÙØ§Ø³ØªØ¹Ù اÙ:
- ØªÙØ³ØªØ¹Ù ٠اÙÙ ÙØ¹Ø§Ù ÙØ§Øª Ø§ÙØ¨ÙÙØ© ÙØ¥Ùشاء Ø¯ÙØ§Ù ØªÙØ¨Ù Ø£Ù٠عدد ÙØ§Ù ٠٠اÙÙÙØ³Ø·Ø§Ø¡.
- ÙÙØ³ØªØ¹Ù Ù Ù ÙØ¹Ø§Ù Ù Ø§ÙØªÙØ²ÙØ¹ ÙØªÙ Ø±ÙØ± ٠صÙÙÙØ© Ø¥ÙÙ Ø¯ÙØ§Ù ØªØ·ÙØ¨ (عادةÙ) ÙØ§Ø¦Ù Ø© Ø·ÙÙÙØ© ٠٠اÙÙÙØ³Ø·Ø§Ø¡.
ÙÙØ§ اÙÙ ÙØ²ØªÙ٠تساعد٠ÙÙ Ø§ÙØªÙÙ٠بÙ٠اÙÙØ§Ø¦Ù Ø© Ù٠صÙÙÙØ© اÙÙ ÙØ¹Ø§Ù ÙØ§Øª بسÙÙÙØ© ÙÙÙØ³Ø±.
ÙÙ
ÙÙÙ Ø£ÙØ¶Ùا أ٠تر٠ÙÙ ÙÙØ³Ø·Ø§Ø¡ استدعاء Ø§ÙØ¯Ø§ÙØ© Â«Ø¨Ø§ÙØ·Ø±ÙÙØ© اÙÙØ¯ÙÙ
ة» âargumentsâ ÙÙÙ ÙØ§Ø¦Ù Ù
ÙØªØ¹Ø¯ÙÙØ¯ شبÙ٠باÙÙ
صÙÙÙØ§Øª.
Ø§ÙØªØ¹ÙÙÙØ§Øª
<code>Ø ÙÙÙÙØ«Ùر Ù Ù Ø§ÙØ³Ø·Ùر استخدÙ<pre>Ø ÙÙØ£Ùثر Ù Ù 10 Ø³Ø·ÙØ± استخد٠(plnkr, JSBin, codepenâ¦)