د٠ساختار داد٠پر Ø§Ø³ØªÙØ§Ø¯Ù در Ø¬Ø§ÙØ§Ø§Ø³Ú©Ø±Ûپت Object Ù Array ÙØ³ØªÙد.
- Ø´ÛØ¡Ùا ب٠٠ا اÛ٠ا٠کا٠را Ù ÛâØ¯ÙÙØ¯ تا ÚÛØ²Û بسازÛ٠ک٠اÙ٠اÙâÙØ§Û داد٠را Ø¨Ù ÙØ§Ø³Ø·Ù Ú©ÙÛØ¯ Ø°Ø®ÛØ±Ù Ú©ÙØ¯.
- آراÛÙâÙØ§ ب٠٠ا Ø§Ù Ú©Ø§Ù Ø¬Ù Ø¹âØ¢ÙØ±Û اÙ٠اÙâÙØ§Û داد٠را در ÙÛØ³ØªÛ ٠رتب Ù ÛâØ¯ÙÙØ¯.
اگرÚÙØ ز٠اÙÛ Ú©Ù Ù Ø§ Ø¢ÙâÙØ§ را ب٠تابع Ù ÛâØ¯ÙÛÙ Ø Ù Ù Ú©Ù Ø§Ø³Øª Ú©Ù ÙÛØ§Ø²Û ب٠ک٠ÛÚ© Ø´ÛØ¡/آراÛÙ ÙØ¨Ø§Ø´Ø¯. Ø´Ø§ÛØ¯ تÙÙØ§ ÙØ·Ø¹ÙâÙØ§Û ØªÚ©Û ÙÛØ§Ø² باشد.
Ù ÙØ¯Ø§Ø±Ø¯ÙÛ٠تجزÛÙâÚ©ÙÙØ¯ÙâÛ Ø³Ø§Ø®ØªØ§Ø± (Destructuring assignment) ÛÚ© سÛÙØªÚ©Ø³ خاص است ک٠ب٠٠ا ا٠کا٠٠ÛâØ¯ÙØ¯ تا آراÛÙâÙØ§ ÛØ§ Ø´ÛØ¡Ùا را درÙÙ ÚÙØ¯ Ù ØªØºÛØ± «پخش Ú©ÙÛ٠» ÚÙÙ Ø¨Ø¹Ø¶Û Ø§ÙÙØ§Øª اÛÙ Ù ÙØ¶Ùع کار را Ø±Ø§ØØªâتر Ù ÛâÚ©ÙØ¯.
ØªØ®Ø±ÛØ¨ ساختار ÙÙ ÚÙÛ٠با تابعâÙØ§Û Ù¾ÛÚÛØ¯Ù ک٠تعداد Ø²ÛØ§Ø¯Û Ù¾Ø§Ø±Ø§Ù ØªØ±Ø Ù ÙØ¯Ø§Ø±ÙØ§Û Ù¾ÛØ´âÙØ±Ø¶ Ùâ¦ Ø¯Ø§Ø±ÙØ¯ ÙÙ Ø¨Ù Ø®ÙØ¨Û کار Ù ÛâÚ©ÙØ¯. Ø¨Ù Ø²ÙØ¯Û آ٠را Ø®ÙØ§ÙÛÙ Ø¯ÛØ¯.
تجزÛ٠ساختار آراÛÙ
کد پاÛÛÙ ÛÚ© ٠ثا٠از ÚÚ¯ÙÙÚ¯Û ØªØ¨Ø¯ÛÙ ÛÚ© آراÛ٠ب٠ÚÙØ¯ Ù ØªØºÛØ± است:
// Ù
ا ÛÚ© آراÛ٠شاÙ
Ù ÙØ§Ù
Ù ÙØ§Ù
خاÙÙØ§Ø¯Ú¯Û دارÛÙ
let arr = ["John", "Smith"]
// Ù
ÙØ¯Ø§Ø±Ø¯ÙÛ ØªØ¬Ø²ÛÙâÚ©ÙÙØ¯ÙâÛ Ø³Ø§Ø®ØªØ§Ø±
// را ÙØ±Ø§Ø± Ù
ÛâØ¯ÙØ¯ firstName = arr[0]
// surname = arr[1] Ù
let [firstName, surname] = arr;
alert(firstName); // John
alert(surname); // Smith
ØØ§Ùا ٠ا Ù ÛâØªÙØ§ÙÛÙ Ø¨Ù Ø¬Ø§Û Ø§Ø¹Ø¯Ø§Ø¯ آراÛ٠با Ù ØªØºÛØ±Ùا کار Ú©ÙÛÙ .
زÙ
اÙÛ Ú©Ù Ø¨Ø§ split ÛØ§ Ù
ØªØ¯ÙØ§Û دÛÚ¯Ø±Û Ú©Ù Ø¢Ø±Ø§Û٠برÙ
ÛâگرداÙÙØ¯ عاÙÛ Ø¨ÙØ¸Ø± Ù
ÛâØ±Ø³Ø¯:
let [firstName, surname] = "John Smith".split(' ');
alert(firstName); // John
alert(surname); // Smith
ÙÙ Ø§ÙØ·Ùر Ú©Ù Ù ÛâØ¨ÛÙÛØ¯Ø سÛÙØªÚ©Ø³ ساد٠است. Ø§ÙØ¨ØªÙ ÚÙØ¯ ÚÛØ² ÙÛÚ٠در جزÛÛØ§Øª Ø®ÙØ¯ دارد. Ø¨ÛØ§ÛÛØ¯ Ø¨Ø±Ø§Û ÙÙÙ ÛØ¯Ù Ø¨ÙØªØ± Ø¢ÙØ ٠ثاÙâÙØ§Û Ø¨ÛØ´ØªØ±Û ببÛÙÛÙ .
اÛ٠سÛÙØªÚ©Ø³ Â«Ù ÙØ¯Ø§Ø±Ø¯ÙÛ ØªØ¬Ø²ÛÙâÚ©ÙÙØ¯ÙâÛ Ø³Ø§Ø®ØªØ§Ø±Â» ÙØ§Ù ÛØ¯Ù Ù ÛâØ´ÙØ¯ ÚÙ٠با Ú©Ù¾Û Ú©Ø±Ø¯Ù Ø§Ù٠اÙâÙØ§ در ÚÙØ¯ Ù ØªØºÛØ± «ساختار را تغÛÛØ± Ù ÛâØ¯ÙØ¯Â». ا٠ا Ø®ÙØ¯ آراÛ٠تغÛÛØ± ÙÙ ÛâÚ©ÙØ¯.
ÙÙØ· ÛÚ© Ø±Ø§Ù Ú©ÙØªØ§ÙâØªØ± Ø¨Ø±Ø§Û ÙÙØ´ØªÙ است:
// let [firstName, surname] = arr;
let firstName = arr[0];
let surname = arr[1];
اÙ٠اÙâÙØ§ÛÛ Ú©Ù Ú©Ù ÙÙ ÛâØ®ÙØ§ÙÛ٠را Ù ÛâØªÙØ§Ù با ÛÚ© Ú©Ø§Ù Ø§Û Ø§Ø¶Ø§ÙÙ Ø¯ÙØ± Ø§ÙØ¯Ø§Ø®Øª:
// ب٠اÙÙ
ا٠دÙÙ
ÙÛØ§Ø² ÙØ¯Ø§Ø±ÛÙ
let [firstName, , title] = ["Julius", "Caesar", "Consul", "of the Roman Republic"];
alert( title ); // Consul
در کد Ø¨Ø§ÙØ§Ø از اÙÙ
ا٠دÙÙ
آراÛ٠گذشتÛÙ
Ø Ø§ÙÙ
ا٠سÙÙ
ب٠title ØªØ®ØµÛØµ داد٠شد ٠بÙÛ٠اÙÙ
اÙâÙØ§Û آراÛÙ ÙÙ
ÙØ§Ø¯ÛØ¯Ù Ú¯Ø±ÙØªÙ Ø´Ø¯ÙØ¯ (ب٠دÙÛ٠اÛÙÚ©Ù Ù
ØªØºÛØ±Û Ø¨Ø±Ø§Û Ø°Ø®ÛØ±Ù Ø¢ÙÙØ§ ÙØ¬Ùد ÙØ¯Ø§Ø±Ø¯).
â¦Ø¯Ø± ÙØ§ÙØ¹Ø Ù Ø§ Ù ÛâØªÙØ§ÙÛ٠آ٠را با ÙØ± ØÙÙÙâÙ¾Ø°ÛØ±Û Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛÙ Ø ÙÙ ÙÙØ· آراÛÙâÙØ§:
let [a, b, c] = "abc"; // ["a", "b", "c"]
let [one, two, three] = new Set([1, 2, 3]);
اÛ٠کار Ù
ÛâÚ©ÙØ¯ ÚÙ٠از درÙÙØ ÛÚ© Ù
ÙØ¯Ø§Ø±Ø¯ÙÛ ØªØ¬Ø²ÛÙâÚ©ÙÙØ¯ÙâÛ Ø³Ø§Ø®ØªØ§Ø± با ØÙÙ٠زد٠در Ù
ÙØ¯Ø§Ø± سÙ
ت راست کار Ù
ÛâÚ©ÙØ¯. Ø¨Ø±Ø§Û ÙØ±Ø§Ø®ÙاÙÛ for..of در Ù
ÙØ¯Ø§Ø± سÙ
ت راست = Ù ØªØ®ØµÛØµ داد٠Ù
ÙØ¯Ø§Ø±ÙØ§Ø Ø¨Ù ÙÙØ¹Û Ø®ÙØ´ سÛÙØªÚ©Ø³ است.
٠ا Ù ÛâØªÙØ§ÙÛ٠از Â«ÙØ§Ø¨Ù Ù ÙØ¯Ø§Ø±Ø¯ÙÛâÙØ§Â» در س٠ت ÚÙ¾ Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛÙ .
Ø¨Ø±Ø§Û Ù Ø«Ø§ÙØ ÛÚ© ÙÛÚÚ¯Û Ø´ÛØ¡:
let user = {};
[user.name, user.surname] = "John Smith".split(' ');
alert(user.name); // John
alert(user.surname); // Smith
در ÙØµÙ ÙØ¨Ù ٠ا ٠تد Object.entries(obj) را Ø¯ÛØ¯ÛÙ .
Ù ÛâØªÙØ§ÙÛ٠آ٠را با تجزÛÙâÚ©ÙÙØ¯ÙâÛ Ø³Ø§Ø®ØªØ§Ø± Ø¨Ø±Ø§Û ØÙÙ٠زد٠در Ú©ÙÛØ¯Ùا Ù Ù ÙØ¯Ø§Ø±ÙØ§Û ÛÚ© Ø´ÛØ¡ Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛÙ :
let user = {
name: "John",
age: 30
};
// ØÙÙ٠زد٠در Ú©ÙÛØ¯Ùا Ù Ù
ÙØ¯Ø§Ø±Ùا
for (let [key, value] of Object.entries(user)) {
alert(`${key}:${value}`); // name:John, then age:30
}
کد Ù
Ø´Ø§Ø¨Ù Ø¨Ø±Ø§Û Map سادÙâØªØ± است ÚÙÙ ØÙÙÙâÙ¾Ø°ÛØ± است:
let user = new Map();
user.set("name", "John");
user.set("age", "30");
// ØÙÙÙ Ù
ÛâØ³Ø§Ø²Ø¯Ø Ø¨Ø±Ø§Û ØªØ¬Ø²ÛÙâÚ©ÙÙØ¯ÙâÛ Ø³Ø§Ø®ØªØ§Ø± Ø¨Ø³ÛØ§Ø± Ù
ÙØ§Ø³Ø¨ است [key, value] با Ø¬ÙØªâÙØ§Û Map
for (let [key, value] of user) {
alert(`${key}:${value}`); // age:30 سپس name:John
}
ÛÚ© ترÙÙØ¯ ٠عرÙÙ Ø¨Ø±Ø§Û Ù Ø¨Ø§Ø¯ÙÙ Ù ÙØ¯Ø§Ø±ÙØ§Û Ø¯Ù Ù ØªØºÛØ± با Ø§Ø³ØªÙØ§Ø¯Ù از Ù ÙØ¯Ø§Ø±Ø¯ÙÛ ØªØ¬Ø²ÛÙâÚ©ÙÙØ¯ÙâÛ Ø³Ø§Ø®ØªØ§Ø± ÙØ¬Ùد دارد:
let guest = "Jane";
let admin = "Pete";
// guest=PeteØ admin=Jane Ø¨ÛØ§ÛÛØ¯ Ù
ÙØ¯Ø§Ø±Ùا را Ù
بادÙÙ Ú©ÙÛÙ
: Ú©Ø§Ø±Û Ú©ÙÛÙ
Ú©Ù
[guest, admin] = [admin, guest];
alert(`${guest} ${admin}`); // Pete Jane (!با Ù
ÙÙÙÛØª Ù
بادÙ٠شد)
اÛÙØ¬Ø§ ٠ا ÛÚ© آراÛÙ Ù ÙÙØªÛ از د٠آراÛÙ Ù ÛâØ³Ø§Ø²ÛÙ Ù Ø¨ÙØ§ÙاصÙ٠ساختار آ٠را ÙØ³Ø¨Øª Ø¨Ù ØªØ±ØªÛØ¨ ٠بادÙ٠تجزÛÙ Ù ÛâÚ©ÙÛÙ .
Ù ÛâØªÙØ§ÙÛ٠از اÛÙ Ø±Ø§Ù Ø¨ÛØ´ØªØ± از Ø¯Ù Ù ØªØºÛØ± را ٠بادÙÙ Ú©ÙÛÙ .
Ø±ÙØ³Øª ââ¦â
٠ع٠ÙÙØ§Ø اگر آراÛÙ Ø·ÙÙØ§ÙÛâØªØ± از ÙÛØ³Øª س٠ت ÚÙ¾ Ø¨Ø§Ø´Ø¯Ø Ø§Ù٠اÙâÙØ§Û «اضاÙÛ» از ÙÙÙ Ù ÛâØ§ÙØªÙد.
Ø¨Ø±Ø§Û Ù Ø«Ø§ÙØ اÛÙØ¬Ø§ ÙÙØ· د٠اÙÙ Ø§Ù Ø¯Ø±ÛØ§Ùت Ù ÛâØ´ÙØ¯ ٠بÙÛÙ ÙØ§Ø¯ÛØ¯Ù Ú¯Ø±ÙØªÙ Ù ÛâØ´ÙÙØ¯:
let [name1, name2] = ["Julius", "Caesar", "Consul", "of the Roman Republic"];
alert(name1); // Julius
alert(name2); // Caesar
// اÙÙ
اÙâÙØ§Û Ø¨Ø¹Ø¯Û Ø¬Ø§ÛÛ Ø°Ø®ÛØ±Ù ÙÙ
ÛâØ´ÙÙØ¯
اگر Ø¨Ø®ÙØ§ÙÛÙ
تÙ
اÙ
اÙÙ
اÙâÙØ§Û Ø¨Ø¹Ø¯Û Ø±Ø§ Ø¯Ø±ÛØ§Ùت Ú©ÙÛÙ
â Ù
ÛâØªÙØ§ÙÛÙ
ÛÚ© پاراÙ
تر دÛگر اضاÙÙ Ú©ÙÛÙ
ک٠با Ø§Ø³ØªÙØ§Ø¯Ù از "..." «بÙÛ٠اÙÙ
اÙâÙØ§Â» را Ø¯Ø±ÛØ§Ùت Ú©ÙØ¯:
let [name1, name2, ...rest] = ["Julius", "Caesar", "Consul", "of the Roman Republic"];
// آراÛÙâØ§Û Ø§Ø² اÙÙ
اÙâÙØ§ است ک٠از اÙÙ
ا٠سÙÙ
Ø´Ø±ÙØ¹ Ù
ÛâØ´ÙØ¯ rest
alert(rest[0]); // Consul
alert(rest[1]); // of the Roman Republic
alert(rest.length); // 2
Ù
ÙØ¯Ø§Ø± rest آراÛÙâØ§Û Ø§Ø² اÙÙ
اÙâÙØ§Û باÙÛ Ù
Ø§ÙØ¯Ù است.
Ù
ÛâØªÙØ§ÙÛÙ
از ÙØ± اسÙ
دÛÚ¯Ø±Û Ø¨Ù Ø¬Ø§Û rest Ø¨Ø±Ø§Û Ù
ØªØºÛØ± Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛÙ
Ø ÙÙØ· Ù
Ø·Ù
ئ٠شÙÛØ¯ Ú©Ù ÙØ¨Ù از آ٠س٠ÙÙØ·Ù ÙØ¬Ùد دارد ٠در Ø§ÙØªÙØ§Û Ù
ÙØ¯Ø§Ø±Ø¯ÙÛ ØªØ¬Ø²ÛÙâÚ©ÙÙØ¯ÙâÛ Ø³Ø§Ø®ØªØ§Ø± ÙØ±Ø§Ø± Ù
ÛâÚ¯ÛØ±Ø¯.
let [name1, name2, ...titles] = ["Julius", "Caesar", "Consul", "of the Roman Republic"];
// titles = ["Consul", "of the Roman Republic"] ØØ§Ùا دارÛÙ
Ù ÙØ¯Ø§Ø±ÙØ§Û Ù¾ÛØ´âÙØ±Ø¶
اگر آراÛ٠از ÙÛØ³Øª Ù ØªØºÛØ±ÙØ§Û Ø³Ù Øª ÚÙ¾ Ú©ÙØªØ§ÙâØªØ± Ø¨Ø§Ø´Ø¯Ø ÙÛÚ Ø§Ø±ÙØ±Û Ø§ÛØ¬Ø§Ø¯ ÙÙ ÛâØ´ÙØ¯. Ù ÙØ¯Ø§Ø±ÙØ§Û ÙØ§Ù ÙØ¬Ùد undefined در ÙØ¸Ø± Ú¯Ø±ÙØªÙ Ù ÛâØ´ÙÙØ¯:
let [firstName, surname] = [];
alert(firstName); // undefined
alert(surname); // undefined
Ù
ا ÛÚ© Ù
ÙØ¯Ø§Ø± Â«Ù¾ÛØ´âÙØ±Ø¶Â» Ø¨Ø®ÙØ§ÙÛÙ
ک٠جاÛگزÛÙ Ù
ÙØ¯Ø§Ø± ÙØ§Ù
ÙØ¬Ùد Ø´ÙØ¯Ø Ù
ÛâØªÙØ§ÙÛÙ
با Ø§Ø³ØªÙØ§Ø¯Ù از = آ٠را ÙØ±Ø§ÙÙ
Ú©ÙÛÙ
:
// Ù
ÙØ¯Ø§Ø±ÙØ§Û Ù¾ÛØ´âÙØ±Ø¶
let [name = "Guest", surname = "Anonymous"] = ["Julius"];
alert(name); // Julius (از آراÛÙ)
alert(surname); // Anonymous (Ù
ÙØ¯Ø§Ø± Ù¾ÛØ´âÙØ±Ø¶ Ø§Ø³ØªÙØ§Ø¯Ù شد)
Ù ÙØ¯Ø§Ø±ÙØ§Û Ù¾ÛØ´âÙØ±Ø¶ Ù ÛâØªÙØ§ÙÙØ¯ عبارات Ù¾ÛÚÛØ¯ÙâØªØ± ÛØ§ ØØªÛ ÙØ±Ø§Ø®ÙاÙÛ ØªØ§Ø¨Ø¹ Ø¨Ø§Ø´ÙØ¯. Ø¢ÙÙØ§ ÙÙØ· ز٠اÙÛ Ú©Ù Ù ÙØ¯Ø§Ø± ÙØ¬Ùد ÙØ¯Ø§Ø´ØªÙ باشد Ø§Ø±Ø²ÛØ§Ø¨Û Ù ÛâØ´ÙÙØ¯.
Ø¨Ø±Ø§Û Ù
Ø«Ø§ÙØ اÛÙØ¬Ø§ Ù
ا از تابع prompt Ø¨Ø±Ø§Û Ø¯Ù Ù
ÙØ¯Ø§Ø± Ù¾ÛØ´âÙØ±Ø¶ Ø§Ø³ØªÙØ§Ø¯Ù کردÛÙ
:
// اجرا Ù
ÛâØ´ÙØ¯ prompt تابع suname ÙÙØ· براÛ
let [name = prompt('name?'), surname = prompt('surname?')] = ["Julius"];
alert(name); // Julius (از آراÛÙ)
alert(surname); // Ø¯Ø±ÛØ§Ùت Ú©ÙØ¯ prompt ÙØ± ÚÛØ²Û Ú©Ù
ÙØ·Ùا در ÙØ¸Ø± Ø¯Ø§Ø´ØªÙ Ø¨Ø§Ø´ÛØ¯: prompt ÙÙØ· Ø¨Ø±Ø§Û Ù
ÙØ¯Ø§Ø± ÙØ§Ù
ÙØ¬Ùد (surname) اجرا Ù
ÛâØ´ÙØ¯.
تجزÛ٠ساختار Ø´ÛØ¡
Ù ÙØ¯Ø§Ø±Ø¯ÙÛ ØªØ¬Ø²ÛÙâÚ©ÙÙØ¯ÙâÛ Ø³Ø§Ø®ØªØ§Ø± با Ø´ÛØ¡Ùا Ù٠کار Ù ÛâÚ©ÙØ¯.
سÛÙØªÚ©Ø³ ساد٠آ٠اÛÙÚ¯ÙÙ٠است:
let {var1, var2} = {var1:â¦, var2:â¦}
Ù
ا Ø¨Ø§ÛØ¯ ÛÚ© Ø´ÛØ¡ Ù
ÙØ¬Ùد Ú©Ù Ù
ÛâØ®ÙØ§ÙÛÙ
آ٠را در ÚÙØ¯ Ù
ØªØºÛØ± پخش Ú©ÙÛÙ
در سÙ
ت راست داشت٠باشÛÙ
. سÙ
ت ÚÙ¾ شاÙ
Ù ÛÚ© «اÙÚ¯ÙÛ» Ø´ÛØ¡ Ù
اÙÙØ¯ Ø¨Ø±Ø§Û ÙÛÚÚ¯ÛâÙØ§Û Ù
ØªÙØ§Ø¸Ø± Ù
ÛâØ´ÙØ¯. در سادÙâØªØ±ÛÙ ØØ§ÙØªØ ÛÚ© ÙÛØ³Øª از اسÙ
âÙØ§Û Ù
ØªØºÛØ± در {...} است.
Ø¨Ø±Ø§Û Ù Ø«Ø§Ù:
let options = {
title: "Menu",
width: 100,
height: 200
};
let {title, width, height} = options;
alert(title); // Menu
alert(width); // 100
alert(height); // 200
ÙÛÚÚ¯ÛâÙØ§Û options.titleØ options.width Ù options.height ب٠Ù
ØªØºÛØ±ÙØ§Û Ù
ØªÙØ§Ø¸Ø± ØªØ®ØµÛØµ داد٠شدÙâØ§ÙØ¯.
ØªØ±ØªÛØ¨ Ù ÙÙ ÙÛØ³Øª. اÛÙÚ¯ÙÙÙ Ù٠کار Ù ÛâÚ©ÙØ¯:
// تغÛÛØ± دادÛÙ
let {...} ØªØ±ØªÛØ¨ را در
let {height, width, title} = { title: "Menu", height: 200, width: 100 }
اÙÚ¯ÙÛ Ø³Ù Øª راست ٠٠ک٠است Ù¾ÛÚÛØ¯ÙâØªØ± باشد ٠رابط٠بÛÙ ÙÛÚÚ¯ÛâÙØ§ Ù Ù ØªØºÛØ±Ùا را تعÛÛÙ Ú©ÙØ¯.
اگر Ù
ا Ø¨Ø®ÙØ§ÙÛÙ
Ú©Ù ÛÚ© ÙÛÚÚ¯Û Ø±Ø§ ب٠ÛÚ© Ù
ØªØºÛØ± با ÙØ§Ù
Û Ø¯Ûگر ØªØ®ØµÛØµ بدÙÛÙ
Ø Ø¨Ø±Ø§Û Ù
Ø«ÙØ Ú©Ø§Ø±Û Ú©ÙÛÙ
Ú©Ù options.width در Ù
ØªØºÛØ±Û Ø¨Ù ÙØ§Ù
w Ø°Ø®ÛØ±Ù Ø´ÙØ¯Ø Ù
ÛâØªÙØ§ÙÛÙ
اسÙ
Ù
ØªØºÛØ± ÛØ§ با Ø§Ø³ØªÙØ§Ø¯Ù از د٠ÙÙØ·Ù ØªÙØ¸ÛÙ
Ú©ÙÛÙ
:
let options = {
title: "Menu",
width: 100,
height: 200
};
// { sourceProperty: targetVariable }
let {width: w, height: h, title} = options;
// width -> w
// height -> h
// title -> title
alert(title); // Menu
alert(w); // 100
alert(h); // 200
د٠ÙÙØ·Ù ÙØ´Ø§Ù Ù
ÛâØ¯ÙØ¯ ک٠«ÚÙ ÚÛØ²Û : کجا Ø°Ø®ÛØ±Ù Ù
ÛâØ´ÙØ¯Â». در Ù
Ø«Ø§Ù Ø¨Ø§ÙØ§ ÙÛÚÚ¯Û width درÙÙ wØ ÙÛÚÚ¯Û height درÙÙ h Ø°Ø®ÛØ±Ù Ù title ب٠اسÙ
Û Ù
شاب٠با Ø®ÙØ¯Ø´ ØªØ®ØµÛØµ داد٠Ù
ÛâØ´ÙØ¯.
Ø¨Ø±Ø§Û ÙÛÚÚ¯ÛâÙØ§ÛÛ Ú©Ù Ù
Ù
ک٠است Ù
ÙØ¬Ùد ÙØ¨Ø§Ø´Ùد Ù
ا Ù
ÛâØªÙØ§ÙÛÙ
با Ø§Ø³ØªÙØ§Ø¯Ù از "=" Ù
ÙØ¯Ø§Ø± Ù¾ÛØ´âÙØ±Ø¶ ÙØ±Ø§Ø± دÙÛÙ
Ø Ù
Ø«ÙØ§ اÛÙÚ¯ÙÙÙ:
let options = {
title: "Menu"
};
let {width = 100, height = 200, title} = options;
alert(title); // Menu
alert(width); // 100
alert(height); // 200
درست ٠اÙÙØ¯ آراÛÙâÙØ§ ÛØ§ Ù¾Ø§Ø±Ø§Ù ØªØ±ÙØ§Û ØªØ§Ø¨Ø¹Ø Ù ÙØ¯Ø§Ø±ÙØ§Û Ù¾ÛØ´âÙØ±Ø¶ Ù ÛâØªÙØ§ÙÙØ¯ ÙØ± Ø¹Ø¨Ø§Ø±ØªÛ ÛØ§ ØØªÛ ÙØ±Ø§Ø®ÙاÙÛ ØªØ§Ø¨Ø¹ Ø¨Ø§Ø´ÙØ¯. اگر Ù ÙØ¯Ø§Ø± Ù ÙØ¬Ùد ÙØ¨Ø§Ø´Ø¯Ø Ø¢ÙÙØ§ Ø§Ø±Ø²ÛØ§Ø¨Û Ù ÛâØ´ÙÙØ¯.
در کد Ø²ÛØ± prompt Ø¨Ø±Ø§Û width Ø¯Ø±Ø®ÙØ§Ø³Øª Ù
ÛâÚ©ÙØ¯ اÙ
ا Ø¨Ø±Ø§Û title ÙÙ:
let options = {
title: "Menu"
};
let {width = prompt("width?"), title = prompt("title?")} = options;
alert(title); // Menu
alert(width); // (باشد prompt ÙØ± ÚÛØ²Û Ú©Ù ÙØªÛجÙ)
ÙÙ ÚÙÛ٠٠ا Ù ÛâØªÙØ§ÙÛ٠د٠ÙÙØ·Ù ٠برابر ÙØ±Ø§Ø± داد٠را با ÙÙ ØªØ±Ú©ÛØ¨ Ú©ÙÛÙ :
let options = {
title: "Menu"
};
let {width: w = 100, height: h = 200, title} = options;
alert(title); // Menu
alert(w); // 100
alert(h); // 200
اگر ٠ا ÛÚ© Ø´ÛØ¡ Ù¾ÛÚÛØ¯Ù با تعداد Ø²ÛØ§Ø¯Û ÙÛÚÚ¯Û Ø¯Ø§Ø´ØªÙ Ø¨Ø§Ø´ÛÙ Ø Ù ÛâØªÙØ§ÙÛÙ ÙÙØ· ÚÛØ²Û Ú©Ù ÙÛØ§Ø² دارÛ٠را استخراج Ú©ÙÛÙ :
let options = {
title: "Menu",
width: 100,
height: 200
};
// را ب٠عÙÙØ§Ù Ù
ØªØºÛØ± استخراج Ú©ÙÛØ¯ title ÙÙØ·
let { title } = options;
alert(title); // Menu
اÙÚ¯ÙÛ Ø±Ø³Øª ââ¦â
اگر Ø´ÛØ¡ Ø¨ÛØ´ØªØ± از ØªØ¹Ø¯Ø§Ø¯Û Ú©Ù Ù Ø§ Ù ØªØºÛØ± دارÛÙ ÙÛÚÚ¯Û Ø¯Ø§Ø´ØªÙ Ø¨Ø§Ø´Ø¯ ÚÙ Ø§ØªÙØ§ÙÛ Ù ÛâØ§ÙØªØ¯Ø Ø¢ÛØ§ Ù ÛâØªÙØ§ÙÛÙ Ø¨Ø¹Ø¶Û Ø§Ø² Ø¢ÙÙØ§ را Ø¯Ø±ÛØ§Ùت Ú©ÙÛ٠٠«بÙÛÙ» را جاÛÛ Ø¯Ûگر Ø°Ø®ÛØ±Ù Ú©ÙÛÙ Ø
Ù ÛâØªÙØ§ÙÛ٠از اÙÚ¯ÙØ±Û رست Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛÙ Ø Ø¯Ø±Ø³Øª ÙÙ Ø§ÙØ·Ùر ک٠با آراÛÙâÙØ§ اÛ٠کار را کردÛÙ . اÛ٠کار ØªÙØ³Ø· Ø¨Ø¹Ø¶Û Ø§Ø² Ù Ø±ÙØ±Ú¯Ø±ÙØ§Û ÙØ¯ÛÙ Û Ù¾Ø´ØªÛØ¨Ø§ÙÛ ÙÙ ÛâØ´ÙØ¯ (IEØ Ø§Ø² Babel Ø¨Ø±Ø§Û Ø±ÙØ¹ اÛÙ Ù Ø´Ú©Ù Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛØ¯) ا٠ا در Ù Ø±ÙØ±Ú¯Ø±ÙØ§Û Ø¬Ø¯ÛØ¯ کار Ù ÛâÚ©ÙØ¯.
اÛÙÚ¯ÙÙÙ Ø¨ÙØ¸Ø± Ù ÛâØ±Ø³Ø¯:
let options = {
title: "Menu",
height: 200,
width: 100
};
// title = title ÙÛÚÚ¯ÛâØ§Û Ø¨Ù Ø§Ø³Ù
// rest = Ø´ÛØ¡Ø§Û شاÙ
٠بÙÛÙ ÙÛÚÚ¯ÛâÙØ§
let {title, ...rest} = options;
// title="Menu" Ørest={height: 200, width: 100} ØØ§Ùا دارÛÙ
alert(rest.height); // 200
alert(rest.width); // 100
let ÙØ¬Ùد ÙØ¯Ø§Ø´ØªÙ باشد Ú¯Ø±ÙØªØ§Ø± Ù
ÛâØ´ÙÛÙ
در Ù
ثاÙâÙØ§Û Ø¨Ø§ÙØ§ Ù
ØªØºÛØ±Ùا دÙÛÙØ§ درÙÙ Ù
ÙØ¯Ø§Ø±Ø¯ÙÛ ØªØ¹Ø±ÛÙ Ø´Ø¯ÙØ¯: let {â¦} = {â¦}. ÙØ·Ø¹Ø§ Ù
ا Ù
ÛâØªÙØ§ÙستÛÙ
بدÙÙ letØ Ø§Ø² Ù
ØªØºÛØ±ÙØ§Û Ù
ÙØ¬Ùد ÙÙ
Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛÙ
. اÙ
ا ÛÚ© Ù
Ø´Ú©Ù ÙØ¬Ùد دارد.
اÛ٠کار ÙÙ ÛâÚ©ÙØ¯:
let title, width, height;
// در اÛ٠خط Ø§Ø±ÙØ± Ù
ÛâÚ¯ÛØ±ÛÙ
{title, width, height} = {title: "Menu", width: 200, height: 100};
Ù
شک٠اÛÙØ¬Ø§Ø³Øª Ú©Ù Ø¬Ø§ÙØ§Ø§Ø³Ú©Ø±Ûپت در کد اصÙÛ (Ù٠درÙÙ ÛÚ© عبارت دÛگر) با {...} ب٠عÙÙØ§Ù ÛÚ© بÙÙÚ© کد Ø±ÙØªØ§Ø± Ù
ÛâÚ©ÙØ¯. ÚÙÛ٠بÙÙÚ©âÙØ§Û Ú©Ø¯Û Ù
ÛâØªÙØ§ÙÙØ¯ Ø¨Ø±Ø§Û Ú¯Ø±ÙÙâØ¨ÙØ¯Û Ø¯Ø³ØªÙØ±Ø§Øª Ø§Ø³ØªÙØ§Ø¯Ù Ø´ÙÙØ¯Ø Ù
Ø«ÙØ§ اÛÙÚ¯ÙÙÙ:
{
// ÛÚ© بÙÙÚ© کد
let message = "Ø³ÙØ§Ù
";
// ...
alert( message );
}
پس اÛÙØ¬Ø§ Ø¬Ø§ÙØ§Ø§Ø³Ú©Ø±Ûپت ÙØ±Ø¶ Ù ÛâÚ©ÙØ¯ ک٠٠ا ÛÚ© بÙÙÚ© کد دارÛ٠٠ب٠ÙÙ Û٠دÙÛ٠است Ú©Ù Ø§Ø±ÙØ± Ø§ÛØ¬Ø§Ø¯ Ù ÛâØ´ÙØ¯. Ø¨Ù Ø¬Ø§Û Ø¢Ù Ù Ø§ تجزÛ٠ساختار Ù ÛâØ®ÙØ§ÙÛÙ .
Ø¨Ø±Ø§Û Ø§ÛÙÚ©Ù Ø¨Ù Ø¬Ø§ÙØ§Ø§Ø³Ú©Ø±Ûپت ÙØ´Ø§Ù دÙÛÙ
ک٠اÛÙ ÛÚ© بÙÙÚ© کد ÙÛØ³ØªØ Ù
ÛâØªÙØ§ÙÛÙ
عبارت را درÙÙ Ù¾Ø±Ø§ÙØªØ² (...) ÙØ±Ø§Ø± دÙÛÙ
:
let title, width, height;
// Ø§ÙØ§Ù Ù
ÙØ§Ø³Ø¨ است
({title, width, height} = {title: "Menu", width: 200, height: 100});
alert( title ); // Menu
تجزÛ٠ساختار ØªÙØ¯Ø±ØªÙ
اگر ÛÚ© Ø´ÛØ¡ ÛØ§ آراÛÙØ Ø´ÛØ¡ ٠آراÛÙâÙØ§Û ØªÙØ¯Ø±ØªÙ دÛÚ¯Ø±Û Ø±Ø§ Ø´Ø§Ù Ù Ø´ÙØ¯Ø ٠ا Ù ÛâØªÙØ§ÙÛ٠از اÙÚ¯ÙØ±Û Ù¾ÛÚÛØ¯ÙâØªØ±Û Ø¯Ø± س٠ت ÚÙ¾ Ø¨Ø±Ø§Û Ø§Ø³ØªØ®Ø±Ø§Ø¬ ÙØ³Ù تâÙØ§Û ع٠ÛÙâØªØ± Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛÙ .
در کد Ø²ÛØ± options ÛÚ© Ø´ÛØ¡ دÛÚ¯Ø±Û Ø¯Ø±ÙÙ ÙÛÚÚ¯Û size Ù ÛÚ© آراÛ٠درÙÙ ÙÛÚÚ¯Û items دارد. اÙÚ¯ÙÛ Ø³Ù
ت ÚÙ¾ Ù
ÙØ¯Ø§Ø±Ø¯ÙÛ Ø³Ø§Ø®ØªØ§Ø± ÛکساÙÛ Ø¨Ø±Ø§Û Ø§Ø³ØªØ®Ø±Ø§Ø¬ Ù
ÙØ¯Ø§Ø± از Ø¢ÙÙØ§ را دارد:
let options = {
size: {
width: 100,
height: 200
},
items: ["Cake", "Donut"],
extra: true
};
// Ù
ÙØ¯Ø§Ø±Ø¯ÙÛ ØªØ¬Ø²ÛÙâÚ©ÙÙØ¯ÙâÛ Ø³Ø§Ø®ØªØ§Ø± Ø¨Ø±Ø§Û ÙØ§Ø¶Ø Ø¨ÙØ¯Ù در ÚÙØ¯ خط ÙØ±Ø§Ø± Ú¯Ø±ÙØªÙ است
let {
size: { // را اÛÙØ¬Ø§ ÙØ±Ø§Ø± دÙÛØ¯ size
width,
height
},
items: [item1, item2], // را اÛÙØ¬Ø§ ØªØ®ØµÛØµ دÙÛØ¯ items
title = "Menu" // در Ø´ÛØ¡ ÙØ¬Ùد ÙØ¯Ø§Ø±Ø¯ (Ù
ÙØ¯Ø§Ø± Ù¾ÛØ´âÙØ±Ø¶ Ø§Ø³ØªÙØ§Ø¯Ù Ù
ÛâØ´ÙØ¯)
} = options;
alert(title); // Menu
alert(width); // 100
alert(height); // 200
alert(item1); // Cake
alert(item2); // Donut
تÙ
اÙ
ÙÛÚÚ¯ÛâÙØ§Û Ø´ÛØ¡ options ب٠جز extra ک٠در سÙ
ت ÚÙ¾ ÙØ¬Ùد ÙØ¯Ø§Ø±Ø¯Ø ب٠Ù
ØªØºÛØ±ÙØ§Û Ù
ØªÙØ§Ø¸Ø± Ø®ÙØ¯ ØªØ®ØµÛØµ داد٠شدÙâØ§ÙØ¯:
Ø³Ø±Ø§ÙØ¬Ø§Ù
Ø Ù
ا widthØ heightØ item1Ø item2 Ù Ù
ØªØºÛØ± title را از Ù
ÙØ¯Ø§Ø± Ù¾ÛØ´âÙØ±Ø¶ دارÛÙ
.
در ÙØ¸Ø± Ø¯Ø§Ø´ØªÙ Ø¨Ø§Ø´ÛØ¯ Ú©Ù ÙÛÚ Ù
ØªØºÛØ±Û Ø¨Ø±Ø§Û size Ù items ÙØ¬Ùد ÙØ¯Ø§Ø±Ø¯ ÚÙÙ Ø¨Ù Ø¬Ø§Û Ø¢ÙÙØ§Ø Ù
ا Ù
ØØªÙØ§ÛØ´Ø§Ù را Ù
ÛâØ®ÙØ§ÙÛÙ
.
Ù¾Ø§Ø±Ø§Ù ØªØ±ÙØ§Û ÙÙØ´Ù ÙØ¯ تابع
Ø¨Ø¹Ø¶Û Ø§ÙÙØ§Øª Ù¾ÛØ´ Ù ÛâØ¢ÛØ¯ Ú©Ù ÛÚ© تابع Ù¾Ø§Ø±Ø§Ù ØªØ±ÙØ§Û Ø²ÛØ§Ø¯Û داشت٠باشد ک٠اکثر Ø¢ÙÙØ§ Ø§ÙØ²Ø§Ù Û ÙÛØ³ØªÙد. Ø®ØµÙØµØ§ Ø¨Ø±Ø§Û Ø±Ø§Ø¨Ø· Ú©Ø§Ø±Ø¨Ø±Û Ø§ÛÙ Ø§ØªÙØ§Ù Ù ÛâØ§ÙØªØ¯. ÛÚ© تابع را ØªØµÙØ± Ú©ÙÛØ¯ Ú©Ù ÛÚ© Ù ÙÙ Ø§ÛØ¬Ø§Ø¯ Ù ÛâÚ©ÙØ¯. اÛÙ Ù Ù٠٠٠ک٠است Ø¯Ø§Ø±Ø§Û Ø·ÙÙ(width)Ø Ø§Ø±ØªÙØ§Ø¹(height)Ø Ø¹ÙÙØ§Ù(title)Ø ÙÛØ³ØªÛ از Ú©Ø§ÙØ§Ùا Ù ØºÛØ±Ù باشد.
اÛÙ ÛÚ© Ø±Ø§Ù Ø¨Ø±Ø§Û ÙÙØ´ØªÙ ÚÙÛÙ ØªØ§Ø¨Ø¹Û Ø§Ø³Øª:
function showMenu(title = "Untitled", width = 200, height = 100, items = []) {
// ...
}
در ÙØ§ÙØ¹ÛØªØ ٠شک٠اÛ٠است Ú©Ù ÚÚ¯ÙÙÙ ØªØ±ØªÛØ¨ آرگÙ٠اÙâÙØ§ را Ø¨Ù ÛØ§Ø¯ بسپارÛÙ . ٠ع٠ÙÙØ§ Ù ØÛØ·âÙØ§Û کدÙÙÛØ³Û (IDE) Ø³Ø¹Û Ù ÛâÚ©ÙÙØ¯ ب٠٠ا Ú©Ù Ú© Ú©ÙÙØ¯Ø Ù Ø®ØµÙØµØ§ اگر Ú©Ø¯Ø Ù Ø³ØªÙØ¯ Ø®ÙØ¨Û داشت٠باشد ا٠ا باز Ù٠⦠٠شک٠دÛÚ¯Ø±Û Ú©Ù ÙØ¬Ùد دارد اÛ٠است Ú©Ù ÚÚ¯ÙÙÙ ÛÚ© تابع را ز٠اÙÛ Ú©Ù Ø§Ú©Ø«Ø± Ù¾Ø§Ø±Ø§Ù ØªØ±ÙØ§ Ø¨Ù ØµÙØ±Øª Ù¾ÛØ´âÙØ±Ø¶ Ù Ø´Ú©ÙÛ ÙØ¯Ø§Ø±Ùد ÙØ±Ø§Ø®ÙاÙÛ Ú©ÙÛÙ .
Ù Ø«ÙØ§ اÛÙÚ¯ÙÙÙØ
// Ù
ÛâگذارÛÙ
undefined جاÛÛ Ú©Ù Ù
ÙØ¯Ø§Ø±ÙØ§Û Ù¾ÛØ´âÙØ±Ø¶ Ù
Ø´Ú©ÙÛ ÙØ¯Ø§Ø±Ùد
showMenu("My Menu", undefined, undefined, ["Item1", "Item2"])
اÛÙ ÙØ´ÙÚ¯ ÙÛØ³Øª. ٠ز٠اÙÛ Ú©Ù Ø¨Ø§ Ù¾Ø§Ø±Ø§Ù ØªØ±ÙØ§Û Ø¨ÛØ´ØªØ±Û سر ٠کار داشت٠باشÛÙ Ø®ÙØ§ÙاÛÛ Ú©Ù ØªØ±Û Ø¯Ø§Ø±Ø¯.
تجزÛ٠ساختار Ø¨Ù ÙØ¬Ø§Øª ٠ا Ù ÛâØ¢ÛØ¯!
٠ا Ù ÛâØªÙØ§ÙÛÙ Ù¾Ø§Ø±Ø§Ù ØªØ±ÙØ§ را ب٠عÙÙØ§Ù Ø´ÛØ¡ رد Ú©ÙÛ٠٠تابع Ø¨ÙØ§ÙاصÙ٠با تجزÛÙ Ø³Ø§Ø®ØªØ§Ø±Ø Ø¢ÙÙØ§ را در Ù ØªØºÛØ±Ùا پخش Ù ÛâÚ©ÙØ¯:
// Ù
ا Ø´ÛØ¡ را ب٠تابع Ù
ÛâØ¯ÙÛÙ
let options = {
title: "My menu",
items: ["Item1", "Item2"]
};
// ٠تابع Ø¨ÙØ§ÙاصÙ٠آ٠را در Ù
ØªØºÛØ±Ùا Ù¾Ø±Ø§Ú©ÙØ¯Ù Ù
ÛâÚ©ÙØ¯...
function showMenu({title = "Untitled", width = 200, height = 100, items = []}) {
// ØØ§Ø² Ø´ÛØ¡ Ú¯Ø±ÙØªÙ شدÙâØ§ÙØ¯ title Øitems
// ØÙ
ÙØ¯Ø§Ø±ÙØ§Û Ù¾ÛØ´âÙØ±Ø¶ Ø§Ø³ØªÙØ§Ø¯Ù Ø´Ø¯ÙØ¯ width Øheight
alert( `${title} ${width} ${height}` ); // My Menu 200 100
alert( items ); // Item1, Item2
}
showMenu(options);
ÙÙ ÚÙÛÙ Ù ÛâØªÙØ§ÙÛ٠از تجزÛ٠ساختار Ù¾ÛÚÛØ¯ÙâØªØ±Û Ù٠را٠با Ø´ÛØ¡ÙØ§Û ØªÙØ¯Ø±ØªÙ ٠طراØÛ د٠ÙÙØ·ÙâØ§Û Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛÙ :
let options = {
title: "My menu",
items: ["Item1", "Item2"]
};
function showMenu({
title = "Untitled",
width: w = 100, // Ù
ÛâØ±ÙØ¯ w درÙÙ width
height: h = 200, // Ù
ÛâØ±ÙØ¯ h درÙÙ height
items: [item1, item2] // Ù
ÛâØ±ÙØ¯ item2 ٠دÙÙ
Û Ø¯Ø±ÙÙ item1 درÙÙ items اÙÙÛ٠اÙÙ
اÙ
}) {
alert( `${title} ${w} ${h}` ); // My Menu 100 200
alert( item1 ); // Item1
alert( item2 ); // Item2
}
showMenu(options);
سÛÙØªÚ©Ø³ Ú©Ø§Ù Ù Ø¨Ø±Ø§Û ÛÚ© Ù ÙØ¯Ø§Ø±Ø¯ÙÛ ØªØ¬Ø²ÛÙâÚ©ÙÙØ¯ÙâÛ Ø³Ø§Ø®ØªØ§Ø± Ûکسا٠است:
function({
incomingProperty: varName = defaultValue
...
})
سپس Ø¨Ù ØµÙØ±Øª Ù¾ÛØ´âÙØ±Ø¶Ø Ø¨Ø±Ø§Û ÛÚ© Ø´ÛØ¡ شاÙ
٠پاراÙ
ØªØ±ÙØ§Ø ÛÚ© Ù
ØªØºÛØ± varName (اسÙ
Ù
ØªØºÛØ±) Ø¨Ø±Ø§Û ÙÛÚÚ¯Û incomingProperty (ÙÛÚÚ¯Û ÙØ±ÙدÛ)Ø ÙÙ
را٠با defaultValue ÙØ¬Ùد Ø®ÙØ§Ùد داشت.
ÙØ·Ùا در ÙØ¸Ø± Ø¯Ø§Ø´ØªÙ Ø¨Ø§Ø´ÛØ¯ Ú©Ù ÚÙÛ٠تجزÛÙ Ø³Ø§Ø®ØªØ§Ø±Û ÙØ±Ø¶ Ù
ÛâÚ©ÙØ¯ Ú©Ù showMenu() ÛÚ© آرگÙÙ
ا٠دارد. اگر Ù
ا تÙ
اÙ
Ù
ÙØ¯Ø§Ø±ÙØ§Û Ù¾ÛØ´âÙØ±Ø¶ را Ø¨Ø®ÙØ§ÙÛÙ
Ø Ù¾Ø³ Ø¨Ø§ÛØ¯ ÛÚ© Ø´ÛØ¡ خاÙÛ Ù
شخص Ú©ÙÛÙ
:
showMenu({}); // Ø®Ø¨Ø ØªÙ
اÙ
Ù
ÙØ¯Ø§Ø±Ùا Ù¾ÛØ´âÙØ±Ø¶ ÙØ³ØªÙد
showMenu(); // اÛÙ Ø§Ø±ÙØ± Ø®ÙØ§Ùد داد
Ù
ا Ù
ÛâØªÙØ§ÙÛÙ
با ÙØ±Ø§Ø± داد٠{} ب٠عÙÙØ§Ù Ù
ÙØ¯Ø§Ø± Ù¾ÛØ´âÙØ±Ø¶ Ø¨Ø±Ø§Û ØªÙ
اÙ
Ø´ÛØ¡ شاÙ
٠پاراÙ
ØªØ±ÙØ§ اÛÙ Ù
شک٠را Ø±ÙØ¹ Ú©ÙÛÙ
:
function showMenu({ title = "Menu", width = 100, height = 200 } = {}) {
alert( `${title} ${width} ${height}` );
}
showMenu(); // Menu 100 200
در کد Ø¨Ø§ÙØ§Ø تÙ
اÙ
Ø´ÛØ¡ آرگÙÙ
اÙâÙØ§ Ø¨Ù ØµÙØ±Øª Ù¾ÛØ´âÙØ±Ø¶ {} است پس ÙÙ
ÛØ´Ù ÚÛØ²Û Ø¨Ø±Ø§Û ØªØ¬Ø²Û٠ساختار ÙØ¬Ùد دارد.
Ø®ÙØ§ØµÙ
-
Ù ÙØ¯Ø§Ø±Ø¯ÙÛ ØªØ¬Ø²ÛÙâÚ©ÙÙØ¯ÙâÛ Ø³Ø§Ø®ØªØ§Ø± ب٠٠ا اجاز٠٠ÛâØ¯ÙØ¯ تا Ø¨ÙØ§ÙاصÙÙ ÛÚ© Ø´ÛØ¡ ÛØ§ آراÛ٠را رÙÛ Ø¨Ø³ÛØ§Ø±Û از Ù ØªØºÛØ±Ùا ترسÛÙ Ú©ÙÛÙ .
-
سÛÙØªÚ©Ø³ Ú©Ø§Ù Ù Ø´ÛØ¡:
let {prop : varName = default, ...rest} = objectاÛ٠ب٠اÛ٠٠عÙÛ Ø§Ø³Øª Ú©Ù ÙÛÚÚ¯Û
propØ¨Ø§ÛØ¯ درÙÙ Ù ØªØºÛØ±varNameØ¨Ø±ÙØ¯ ٠اگر ÚÙÛÙ ÙÛÚÚ¯ÛâØ§Û ÙØ¬Ùد ÙØ¯Ø§Ø´ØªØ سپس Ù ÙØ¯Ø§Ø±defaultØ¨Ø§ÛØ¯ Ø§Ø³ØªÙØ§Ø¯Ù Ø´ÙØ¯.ÙÛÚÚ¯ÛâÙØ§Û Ø´ÛØ¡ Ú©Ù ÙÙØ´Û Ø¨Ø±Ø§Û Ø¢ÙÙØ§ ÙØ¬Ùد ÙØ¯Ø§Ø±Ø¯ درÙÙ Ø´ÛØ¡
restÚ©Ù¾Û Ù ÛâØ´ÙÙØ¯. -
سÛÙØªÚ©Ø³ کا٠٠آراÛÙ:
let [item1 = default, item2, ...rest] = arrayاÙ٠ا٠اÙ٠درÙÙ
item1Ù ÛâØ±ÙØ¯Ø اÙ٠ا٠دÙ٠درÙÙitem2Ù ÛâØ´ÙØ¯Ø ت٠ا٠اÙ٠اÙâÙØ§Û باÙÛ Ù Ø§ÙØ¯Ù آراÛÙrestرا تشکÛÙ Ù ÛâØ¯ÙÙØ¯. -
استخراج داد٠از آراÛÙ/Ø´ÛØ¡ÙØ§Û ØªÙØ¯Ø±ØªÙ ÙÙ Ù Ù Ú©Ù Ø§Ø³ØªØ Ø¨Ø±Ø§Û Ø§ÛÙکار س٠ت ÚÙ¾ Ø¨Ø§ÛØ¯ ساختار ÛکساÙÛ Ø¨Ø§ س٠ت راست داشت٠باشد.
ÙØ¸Ø±Ø§Øª
<code>Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛØ¯Ø Ø¨Ø±Ø§Û ÚÙØ¯Û٠خط â کد را درÙ٠تگ<pre>ÙØ±Ø§Ø± دÙÛØ¯Ø Ø¨Ø±Ø§Û Ø¨ÛØ´ از د٠خط کد â Ø§Ø² ÛÚ© جعبÙÙ Ø´ÙÛ Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛØ¯. (plnkrØ jsbinØ codepenâ¦)