Ù Ø¯ÛØ±Ûت ØØ§Ùظ٠در Ø¬Ø§ÙØ§Ø§Ø³Ú©Ø±Ûپت Ø¨Ù ØµÙØ±Øª Ø®ÙØ¯Ú©Ø§Ø± Ù Ù¾ÙÙØ§Ù از ٠ا Ø§ÙØ¬Ø§Ù Ù ÛâØ´ÙØ¯. ٠ا Ù ÙØ¯Ø§Ø±ÙØ§Û Ø§ØµÙÛØ Ø´ÛØ¡ÙØ§Ø ØªØ§Ø¨Ø¹âÙØ§ Ù ØºÛØ±Ù را Ù ÛâØ³Ø§Ø²Û٠⦠ت٠ا٠اÛÙÙØ§ ØØ§Ùظ٠را اشغا٠٠ÛâÚ©ÙÙØ¯.
ÙÙØªÛ ÚÛØ²Û دÛگر Ù ÙØ±Ø¯ ÙÛØ§Ø² ÙØ¨Ø§Ø´Ø¯ ÚÙ Ø§ØªÙØ§ÙÛ Ù ÛâØ§ÙØªØ¯Ø Ù ÙØªÙر Ø¬Ø§ÙØ§Ø§Ø³Ú©Ø±Ûپت ÚÚ¯ÙÙ٠اÛ٠را ØªØ´Ø®ÛØµ Ù ÛâØ¯ÙØ¯ ٠پاک Ù ÛâÚ©ÙØ¯Ø
ÙØ§Ø¨ÙÛØª دسترسÛ
Ù ÙÙÙ٠اصÙÛ Ù Ø¯ÛØ±Ûت ØØ§Ùظ٠در Ø¬Ø§ÙØ§Ø§Ø³Ú©Ø±Ûپت ÙØ§Ø¨ÙÛØª Ø¯Ø³ØªØ±Ø³Û Ø§Ø³Øª.
Ø¨Ù Ø¨ÛØ§Ù Ø³Ø§Ø¯ÙØ Ù ÙØ¯Ø§Ø±ÙØ§Û âÙØ§Ø¨Ù دسترسâ Ù ÙØ¯Ø§Ø±ÙاÛÛ ÙØ³ØªÙد Ú©Ù Ø¨Ù ÙØÙÛ Ø¨ØªÙØ§Ù ب٠آÙÙØ§ Ø¯Ø³ØªØ±Ø³Û Ø¯Ø§Ø´Øª ÛØ§ از Ø¢ÙÙØ§ Ø§Ø³ØªÙØ§Ø¯Ù کرد. Ø°Ø®ÛØ±ÙâØ´Ø¯Ù Ø¢ÙÙØ§ در ØØ§Ùظ٠تض٠Û٠شد٠است.
-
ÛÚ© Ù Ø¬Ù ÙØ¹Ù از Ù ÙØ¯Ø§Ø±ÙاÛÛ Ú©Ù Ø¨Ù Ø·ÙØ± Ø°Ø§ØªÛ ÙØ§Ø¨Ù دسترس ÙØ³ØªÙد ÙØ¬Ùد دارد Ú©Ù ÙÙ ÛâØªÙØ§ÙÙØ¯ ب٠دÙÛÙâÙØ§ÛÛ ÙØ§Ø¶Ø ØØ°Ù Ø´ÙÙØ¯.
Ø¨Ø±Ø§Û Ù Ø«Ø§Ù:
- ØªØ§Ø¨Ø¹Û Ú©Ù Ø¯Ø± ØØ§Ù اجرا Ø¨Ø§Ø´Ø¯Ø Ù ØªØºÛØ±ÙØ§Û Ù ØÙÛ Ù Ù¾Ø§Ø±Ø§Ù ØªØ±ÙØ§Û Ø¢Ù.
- تابعâÙØ§Û دÛگر در Ø²ÙØ¬ÛرÙâÛ Ú©ÙÙÙÛÙ ØµØ¯Ø§Ø²Ø¯Ù ÙØ§Û ت٠در ØªÙØ Ù ØªØºÛØ±ÙØ§Û Ù ØÙÛ Ù Ù¾Ø§Ø±Ø§Ù ØªØ±ÙØ§Û Ø¢Ù.
- Ù ØªØºÛØ±ÙØ§Û Ú¯ÙÙØ¨Ø§Ù.
- (ÚÙØ¯ Ù ÙØ±Ø¯ دÛگر ÙÙ ÙØ³ØªÙØ¯Ø ÙÙ ÚÙÛÙ Ù ÙØ±Ø¯ÙØ§Û Ø¯Ø§Ø®ÙÛ)
اÛÙ Ù ÙØ¯Ø§Ø±Ùا Ø±ÛØ´ÙâÙØ§ ÙØ§Ù ÛØ¯Ù Ù ÛâØ´ÙÙØ¯.
-
ÙØ± Ù ÙØ¯Ø§Ø± دÛÚ¯Ø±Û ÙØ§Ø¨Ù دسترس ÙØ±Ø¶ Ù ÛâØ´ÙØ¯ اگر از ÛÚ© Ø±ÛØ´Ù ØªÙØ³Ø· ÛÚ© ٠رجع ÛØ§ Ø²ÙØ¬ÛرÙâØ§Û Ø§Ø² ٠راجع ÙØ§Ø¨Ù دسترس باشد.
Ø¨Ø±Ø§Û Ù Ø«Ø§ÙØ اگر ÛÚ© Ø´ÛØ¡ در Ù ØªØºÛØ±Û Ú¯ÙÙØ¨Ø§Ù ÙØ¬Ùد Ø¯Ø§Ø´ØªÙ Ø¨Ø§Ø´Ø¯Ø Ù Ø¢Ù Ø´ÛØ¡ ÛÚ© ÙÛÚÚ¯Û Ø¯Ø§Ø´ØªÙ Ø¨Ø§Ø´Ø¯ Ú©Ù Ø¨Ù Ø´ÛØ¡Ø§Û دÛگر Ø±Ø¬ÙØ¹ Ù ÛâÚ©ÙØ¯Ø Ø¢Ù Ø´ÛØ¡ ÙØ§Ø¨Ù دسترس ÙØ±Ø¶ Ù ÛâØ´ÙØ¯. ٠آÙÙØ§ÛÛ Ú©Ù Ø§ÛÙ Ø´ÛØ¡ ب٠آÙÙØ§ Ø±Ø¬ÙØ¹ Ù ÛâÚ©ÙØ¯ ÙÙ ÙØ§Ø¨Ù دسترس ÙØ³ØªÙد. ٠ثاÙâÙØ§Û Ø¯Ø§Ø±Ø§Û Ø¬Ø²Ø¦ÛØ§Øª در ادا٠٠آ٠د٠است.
ÛÚ© ÙØ±Ø§ÛÙØ¯ پشت پرد٠در Ù ÙØªÙر Ø¬Ø§ÙØ§Ø§Ø³Ú©Ø±Ûپت ÙØ¬Ùد دارد Ø¨Ù ÙØ§Ù زباÙÙâØ±ÙØ¨Û. اÛÙ ÙØ±Ø§ÛÙØ¯ ØªÙ Ø§Ù Ø´ÛØ¡Ùا را Ø²ÛØ± ÙØ¸Ø± Ù ÛâÚ¯ÛØ±Ø¯ ٠آÙÙØ§ÛÛ Ú©Ù ØºÛØ± ÙØ§Ø¨Ù دسترس شدÙâØ§ÙØ¯ را پاک Ù ÛâÚ©ÙØ¯.
ÛÚ© ٠ثا٠سادÙ
اÛÙØ¬Ø§ سادÙâØªØ±Û٠٠ثا٠را دارÛÙ :
// ÛÚ© ارجاع Ø¨Ù Ø´ÛØ¡ دارد user
let user = {
name: "John"
};
اÛÙØ¬Ø§Ø Ú©Ù
ا٠ÛÚ© Ù
رجع Ø´ÛØ¡ را ÙØ´Ø§Ù Ù
ÛâØ¯ÙØ¯. Ù
ØªØºÛØ± Ú¯ÙÙØ¨Ø§Ù "user" Ø¨Ù Ø´ÛØ¡ {name: "John"} Ø±Ø¬ÙØ¹ Ù
ÛâÚ©ÙØ¯ (Ø¨Ø±Ø§Û Ø§Ø®ØªØµØ§Ø± ب٠آ٠John Ù
ÛâÚ¯ÙÛÛÙ
). ÙÛÚÚ¯Û "name" از John ÛÚ© Ù
ÙØ¯Ø§Ø± اصÙÛ Ø±Ø§ Ø°Ø®ÛØ±Ù Ù
ÛâÚ©ÙØ¯Ø پس درÙ٠آ٠ÙÙØ´ بست٠است.
اگر Ù
ÙØ¯Ø§Ø± user بازÙÙÛØ³Û Ø´ÙØ¯Ø Ù
رجع از دست Ù
ÛâØ±ÙØ¯:
user = null;
ØØ§Ù John ØºÛØ± ÙØ§Ø¨Ù دسترس شد٠است. ÙÛØ¬ Ø±Ø§Ù Ù Ù Ø±Ø¬Ø¹Û Ø¨Ø±Ø§Û Ø¯Ø³ØªØ±Ø³Û Ø¨Ù Ø¢Ù ÙØ¬Ùد ÙØ¯Ø§Ø±Ø¯. زباÙ٠ج٠عâک٠داد٠را Ø¯ÙØ± Ù ÛâØ§ÙØ¯Ø§Ø²Ø¯ Ù ØØ§Ùظ٠را آزاد Ù ÛâÚ©ÙØ¯.
د٠٠رجع
ØØ§Ù Ø¨ÛØ§ÛÛØ¯ ØªØµÙØ± Ú©ÙÛÙ
Ú©Ù Ù
رجع را از user در admin Ú©Ù¾Û Ú©Ø±Ø¯ÛÙ
:
// ÛÚ© ارجاع Ø¨Ù Ø´ÛØ¡ دارد user
let user = {
name: "John"
};
let admin = user;
ØØ§Ù اگر Ø¯ÙØ¨Ø§Ø±Ù کار ٠شاب٠را Ø§ÙØ¬Ø§Ù دÙÛÙ :
user = null;
â¦Ø³Ù¾Ø³ Ø´ÛØ¡ ÙÙÙØ² ØªÙØ³Ø· Ù
ØªØºÛØ± Ú¯ÙÙØ¨Ø§Ù admin ÙØ§Ø¨Ù دسترس Ø§Ø³ØªØ Ù¾Ø³ در ØØ§ÙØ¸Ù ÙØ¬Ùد دارد. اگر Ù
ا admin را ÙÙ
بازÙÙÛØ³Û Ú©ÙÛÙ
Ø Ø³Ù¾Ø³ اÛÙ Ø´ÛØ¡ ØØ°Ù Ù
ÛâØ´ÙØ¯.
Ø´ÛØ¡ÙØ§Û Ø¨ÙÙ Ù¾ÛÙØ³ØªÙ
ØØ§Ùا ÛÚ© ٠ثا٠پÛÚÛØ¯ÙâØªØ±. خاÙÙØ§Ø¯Ù:
function marry(man, woman) {
woman.husband = man;
man.wife = woman;
return {
father: man,
mother: woman
}
}
let family = marry({
name: "John"
}, {
name: "Ann"
});
تابع marry Ø¯Ù Ø´ÛØ¡ را با داد٠Ù
رجعâÙØ§Û Ø¢ÙÙØ§ ب٠ÛکدÛگر âØ¨ÙÙ
Ù¾ÛÙÙØ¯ Ù
ÛâØ²ÙØ¯â Ù ÛÚ© Ø´ÛØ¡ Ø¬Ø¯ÛØ¯ ک٠شاÙ
Ù ÙØ± د٠است را برÙ
ÛâÚ¯Ø±Ø¯Ø§ÙØ¯.
ساختار ØØ§ÙØ¸Ù ØØ§ØµÙ:
از Ù٠اکÙÙÙØ ØªÙ Ø§Ù Ø´ÛØ¡Ùا ÙØ§Ø¨Ù دسترس ÙØ³ØªÙد.
ØØ§Ù Ø¨ÛØ§ÛÛØ¯ د٠٠رجع را ØØ°Ù Ú©ÙÛÙ :
delete family.father;
delete family.mother.husband;
اÛÙÚ©Ù ÙÙØ· ÛÚ©Û Ø§Ø² د٠٠رجع را ØØ°Ù Ú©ÙÛ٠کاÙÛ ÙÛØ³ØªØ ÚÙÙ ØªÙ Ø§Ù Ø´ÛØ¡Ùا ÙÙÙØ² ÙØ§Ø¨Ù دسترس ÙØ³ØªÙد.
ا٠ا اگر ٠ا ÙØ± د٠را ØØ°Ù Ú©ÙÛÙ Ø Ø¢Ù Ú¯Ø§Ù Ù ÛâØ¨ÛÙÛÙ Ú©Ù John دÛگر ÙÛÚ Ù Ø±Ø¬Ø¹ ÙØ±ÙØ¯Û ÙØ¯Ø§Ø±Ø¯:
٠رجعâÙØ§Û Ø®Ø±ÙØ¬Û Ù ÙÙ ÙÛØ³ØªÙد. تÙÙØ§ ٠رجعâÙØ§Û ÙØ±ÙØ¯Û Ù ÛâØªÙØ§ÙÙØ¯ ÛÚ© Ø´ÛØ¡ را ÙØ§Ø¨Ù دسترس Ú©ÙÙØ¯. پس John ØØ§Ùا ØºÛØ± ÙØ§Ø¨Ù دسترس شد٠است Ù Ù٠را٠با ت٠ا٠دادÙâØ§Ø´ ک٠آÙÙØ§ ÙÙ ØºÛØ± ÙØ§Ø¨Ù دسترس Ø´Ø¯Ù Ø§ÙØ¯Ø از ØØ§Ùظ٠پاک Ù ÛâØ´ÙØ¯.
بعد از زباÙÙâØ±ÙØ¨Û:
Ø¬Ø²ÛØ±ÙâÛ ØºÛØ± ÙØ§Ø¨Ù دسترس
اÛÙÚ©Ù ØªÙ Ø§Ù Ø¬Ø²ÛØ±ÙâÛ Ø´ÛØ¡ÙØ§Û Ø¨ÙÙ Ù¾ÛÙØ³ØªÙ ØºÛØ± ÙØ§Ø¨Ù دسترس Ø´ÙÙØ¯ ٠از ØØ§Ùظ٠پاک Ø´ÙÙØ¯ ٠٠ک٠است.
Ø´ÛØ¡ Ù ÙØ¨Ø¹ ٠اÙÙØ¯ Ø´ÛØ¡ Ø¨Ø§ÙØ§ است. پس:
family = null;
تصÙÛØ± درÙÙ ØØ§Ùظ٠ب٠تصÙÛØ± Ø²ÛØ± تبدÛÙ Ù ÛâØ´ÙØ¯:
اÛ٠٠ثا٠اÙÙ ÛØª Ø²ÛØ§Ø¯ Ù ÙÙÙÙ ÙØ§Ø¨ÙÛØª Ø¯Ø³ØªØ±Ø³Û Ø±Ø§ ÙØ´Ø§Ù Ù ÛâØ¯ÙØ¯.
اÛÙ ÙØ§Ø¶Ø است Ú©Ù John Ù Ann ÙÙÙØ² Ù٠بÙÙ Ù¾ÛÙØ³ØªÙ ÙØ³ØªÙد Ù ÙØ± د٠٠رجعâÙØ§Û ÙØ±ÙØ¯Û Ø¯Ø§Ø±ÙØ¯. ا٠ا اÛ٠کاÙÛ ÙÛØ³Øª.
Ø´ÛØ¡ ساب٠"family" از Ø±ÛØ´Ù Ù¾ÛÙÙØ¯Ø´ را از دست داد٠است ٠دÛگر ÙÛÚ Ù
Ø±Ø¬Ø¹Û Ø¨Ù Ø¢Ù ÙØ¬Ùد ÙØ¯Ø§Ø±Ø¯Ø پس تÙ
اÙ
Ø¬Ø²ÛØ±Ù ØºÛØ± ÙØ§Ø¨Ù دسترس ٠پاک Ù
ÛâØ´ÙØ¯.
اÙÚ¯ÙØ±Ûت٠داخÙÛ
اÙÚ¯ÙØ±Ûت٠پاÛÙâÛ Ø²Ø¨Ø§ÙÙâØ±ÙØ¨Û âØ¹ÙØ§Ù ت Ú¯Ø°Ø§Ø±Û Ù Ø¬Ø§Ø±Ù Ú©Ø±Ø¯Ùâ ÙØ§Ù ÛØ¯Ù Ù ÛâØ´ÙØ¯.
٠راØÙ âØ¬Ù Ø¹âØ¢ÙØ±Û زباÙÙâ پاÛÛÙ Ø¨Ù Ø·ÙØ± Ù ÙØ¸Ù Ø§ÙØ¬Ø§Ù Ù ÛâØ´ÙÙØ¯:
- زباÙ٠ج٠عâÚ©Ù Ø±ÛØ´ÙâÙØ§ را Ù ÛâÚ¯ÛØ±Ø¯ ٠آÙÙØ§ را âØ¹ÙØ§Ù ت گذارÛâ Ù ÛâÚ©ÙØ¯ (ب٠خاطر Ù ÛâØ³Ù¾Ø§Ø±Ø¯).
- سپس از ت٠ا٠٠رجعâÙØ§Û Ø¢ÙÙØ§ Ø¨Ø§Ø²Ø¯ÛØ¯ Ù ÛâÚ©ÙØ¯ ٠آÙÙØ§ را âØ¹ÙØ§Ù ت Ú¯Ø°Ø§Ø±Û Ù ÛâÚ©ÙØ¯â.
- سپس از Ø´ÛØ¡ÙØ§Û Ø¹ÙØ§Ù ت Ú¯Ø°Ø§Ø±Û Ø´Ø¯Ù Ø¨Ø§Ø²Ø¯ÛØ¯ Ù ÛâÚ©ÙØ¯ ٠٠رجعâÙØ§Û Ø¢ÙÙØ§ را Ø¹ÙØ§Ù ت Ú¯Ø°Ø§Ø±Û Ù ÛâÚ©ÙØ¯. ØªÙ Ø§Ù Ø´ÛØ¡ÙØ§Û Ø¨Ø§Ø²Ø¯ÛØ¯ شد٠ب٠خاطر سپرد٠٠ÛâØ´ÙÙØ¯ تا در Ø¢ÛÙØ¯Ù Ø¯ÙØ¨Ø§Ø±Ù از Ø´ÛØ¡ ÛکساÙÛ Ø¨Ø§Ø²Ø¯ÛØ¯ ÙØ´Ùد.
- â¦Ù اÛÙ ÙØ±Ø§ÛÙØ¯ تا ز٠اÙÛ Ú©Ù Ø§Ø² ت٠ا٠٠رجعâÙØ§Û ÙØ§Ø¨Ù دسترس (از Ø±ÛØ´ÙâÙØ§) Ø¨Ø§Ø²Ø¯ÛØ¯ Ø´ÙØ¯ Ø§Ø¯Ø§Ù Ù Ù¾ÛØ¯Ø§ Ù ÛâÚ©ÙØ¯.
- ØªÙ Ø§Ù Ø´ÛØ¡Ùا ب٠جز Ø¢ÙÙØ§ÛÛ Ú©Ù Ø¹ÙØ§Ù ت Ú¯Ø°Ø§Ø±Û Ø´Ø¯ÙâØ§ÙØ¯ پاک Ù ÛâØ´ÙÙØ¯.
Ø¨Ø±Ø§Û Ù Ø«Ø§ÙØ Ø¨ÛØ§ÛÛØ¯ ÙØ±Ø¶ Ú©ÙÛ٠ساختار Ø´ÛØ¡ ٠ا اÛÙÚ¯ÙÙ٠باشد:
Ù ÛâØªÙØ§ÙÛÙ Ø¨Ù ÙØ¶ÙØ ÛÚ© âØ¬Ø²ÛØ±ÙâÛ ØºÛØ± ÙØ§Ø¨Ù Ø¯Ø³ØªØ±Ø³â Ø±Ø§ در س٠ت راست ببÛÙÛÙ . ØØ§Ù Ø¨ÛØ§ÛÛØ¯ ببÛÙÛ٠زباÙ٠ج٠عâÚ©ÙÙ âØ¹ÙØ§Ù ت گذار ٠جار٠کÙÙØ¯Ùâ ÚÚ¯ÙÙ٠با Ø¢Ù Ø¨Ø±Ø®ÙØ±Ø¯ Ù ÛâÚ©ÙØ¯.
اÙÙÛ٠٠رØÙÙ Ø¹ÙØ§Ù ت Ú¯Ø°Ø§Ø±Û Ø±ÛØ´ÙâÙØ§ است:
سپس ٠رجعâÙØ§Û Ø¢ÙÙØ§ را Ø¯ÙØ¨Ø§Ù Ù ÛâÚ©ÙÛÙ Ù Ø´ÛØ¡ÙاÛÛ Ú©Ù Ø¨Ù Ø¢ÙÙØ§ Ø±Ø¬ÙØ¹ شد٠است را Ø¹ÙØ§Ù ت Ú¯Ø°Ø§Ø±Û Ù ÛâÚ©ÙÛÙ :
â¦Ù تا جاÛÛ Ú©Ù Ù Ù Ú©Ù Ø¨Ø§Ø´Ø¯Ø Ø¯ÙØ¨Ø§Ù کرد٠٠رجعâÙØ§Û Ø¨Ø¹Ø¯Û Ø±Ø§ ادا٠٠٠ÛâØ¯ÙÛÙ :
ØØ§Ùا Ø´ÛØ¡ÙاÛÛ Ú©Ù ÙÙ ÛâØªÙØ§Ù ØÛÙ ÙØ±Ø§ÛÙØ¯ از Ø¢ÙÙØ§ Ø¨Ø§Ø²Ø¯ÛØ¯ Ø´ÙØ¯ ØºÛØ± ÙØ§Ø¨Ù دسترس ÙØ±Ø¶ Ù ÛâØ´ÙÙØ¯ ٠پاک Ù ÛâØ´ÙÙØ¯:
ÙÙ ÚÙÛÙ Ù ÛâØªÙØ§ÙÛÙ ÙØ±Ø§ÛÙØ¯ را اÛÙÚ¯ÙÙÙ ÙØ±Ø¶ Ú©ÙÛÙ Ú©Ù ÛÚ© سط٠رÙÚ¯ Ø¨Ø³ÛØ§Ø± بزرگ از Ø±ÛØ´Ù Ø±ÛØ®ØªÙ Ù ÛâØ´ÙØ¯ ک٠بÛ٠ت٠ا٠٠رجعâÙØ§ Ø¬Ø±ÛØ§Ù Ù ÛâÛØ§Ø¨Ø¯ Ù ØªÙ Ø§Ù Ø´ÛØ¡ÙØ§Û ÙØ§Ø¨Ù دسترس را Ø¹ÙØ§Ù ت Ú¯Ø°Ø§Ø±Û Ù ÛâÚ©ÙØ¯. سپس Ø´ÛØ¡ÙاÛÛ Ú©Ù Ø¹ÙØ§Ù ت Ú¯Ø°Ø§Ø±Û ÙØ´Ø¯ÙâØ§ÙØ¯ پاک Ù ÛâØ´ÙÙØ¯.
اÛÙ Ù ÙÙÙÙ Ú©ÙÛ ÚÚ¯ÙÙÚ¯Û Ú©Ø§Ø± کرد٠زباÙÙâØ±ÙØ¨Û است. Ù ÙØªÙØ±ÙØ§Û Ø¬Ø§ÙØ§Ø§Ø³Ú©Ø±Ûپت بÙÛÙÙâØ³Ø§Ø²ÛâÙØ§Û Ø²ÛØ§Ø¯Û را اع٠ا٠٠ÛâÚ©ÙÙØ¯ تا آ٠را Ø³Ø±ÛØ¹âتر Ú©ÙÙØ¯ ٠باعث Ø§ÛØ¬Ø§Ø¯ ØªØ§Ø®ÛØ± در اجرا Ø´Ø¯Ù Ø¨Ø±ÙØ§Ù Ù ÙØ´ÙÙØ¯.
Ø¨Ø¹Ø¶Û Ø§Ø² بÙÛÙÙâØ³Ø§Ø²ÛâÙØ§:
- Ø¬Ù Ø¹âØ¢ÙØ±Û ÙØ³ÙÛ â Ø´ÛØ¡ÙØ§ Ø¨Ù Ø¯Ù Ø¯Ø³ØªÙ ØªÙØ³ÛÙ Ù ÛâØ´ÙÙØ¯: âØ¬Ø¯ÛØ¯Ùاâ Ù " ÙØ¯ÛÙ ÛâÙØ§". در کد ٠ع٠ÙÙÛØ Ø¨Ø³ÛØ§Ø±Û از Ø´ÛØ¡Ùا Ø¨Ù ÙØ¬Ùد Ù ÛâØ¢ÛÙØ¯Ø کارشا٠را Ø§ÙØ¬Ø§Ù Ù ÛâØ¯ÙÙØ¯ ٠ب٠سرعت Ù ÛâÙ ÛØ±ÙØ¯Ø Ø¢ÙÙØ§ Ù ÛâØªÙØ§ÙÙØ¯ ب٠سرعت پاک Ù ÛâØ´ÙÙØ¯Ø پس Ù ÙØ·ÙÛ Ø§Ø³Øª Ú©Ù Ø´ÛØ¡ÙØ§Û Ø¬Ø¯ÛØ¯ ØªØØª ÙØ¸Ø± ÙØ±Ø§Ø± Ø¨Ú¯ÛØ±Ùد ٠اگر اÛÙ Ù ÙØ¶Ùع صاد٠باشد Ø¢ÙÙØ§ را از ØØ§Ùظ٠پاک Ú©ÙÛÙ . Ø´ÛØ¡ÙاÛÛ Ú©Ù Ø¨Ø±Ø§Û Ù Ø¯Øª Ø²ÛØ§Ø¯ باÙÛ Ù Ûâ٠اÙÙØ¯Ø âÙØ¯ÛÙ Ûâ Ù ÛâØ´ÙÙØ¯ ٠ک٠تر Ø¨Ø±Ø±Ø³Û Ù ÛâØ´ÙÙØ¯.
- Ø¬Ù Ø¹âØ¢ÙØ±Û Ø§ÙØ²Ø§ÛØ´Û â Ø§Ú¯Ø± Ø´ÛØ¡ÙØ§Û Ø²ÛØ§Ø¯Û ÙØ¬Ùد Ø¯Ø§Ø´ØªÙ Ø¨Ø§Ø´ÙØ¯ ٠٠ا ØªÙØ§Ø´ Ú©ÙÛÙ Ú©Ù ÛÚ© بار٠برÙÛÙ Ù ØªÙ Ø§Ù Ø¯Ø³ØªÙ Ø´ÛØ¡ را Ø¹ÙØ§Ù ت Ú¯Ø°Ø§Ø±Û Ú©ÙÛÙ Ø Ù Ù Ú©Ù Ø§Ø³Øª اÛ٠کار ز٠ا٠ببرد Ù Ø§Ø®ØªÙØ§ÙâÙØ§Û ÙØ§Ø¨Ù رÙÛØª را در اجرا Ø§ÛØ¬Ø§Ø¯ Ú©ÙØ¯. پس Ù ÙØªÙر ØªÙ Ø§Ù Ø´ÛØ¡ÙØ§Û Ù ÙØ¬Ùد را ب٠ÚÙØ¯ بخش ØªÙØ³ÛÙ Ú©ÙØ¯. سپس ÙØ± بخش ÛÚ©Û Ù¾Ø³ از دÛÚ¯Ø±Û Ù¾Ø§Ú©âØ³Ø§Ø²Û Ù ÛâØ´ÙÙØ¯. زباÙÙâØ±ÙØ¨ÛâÙØ§Û Ú©ÙÚÚ© Ø²ÛØ§Ø¯Û Ø¨Ù Ø¬Ø§Û ÛÚ© زباÙÙâØ±ÙØ¨Û Ú©Ø§Ù Ù ÙØ¬Ùد Ø®ÙØ§Ùد داشت. اÛ٠کار Ø¨Ø±Ø§Û Ø¯ÙØ¨Ø§Ù کرد٠تغÛÛØ±Ø§Øª ب٠ثبت Ú©Ø±Ø¯Ù Ø¨ÛØ´ØªØ±Û ÙÛØ§Ø² Ø¯Ø§Ø±Ø¯Ø Ø§Ù Ø§ ٠ا Ø¨Ù Ø¬Ø§Û Ø§Ø®ØªÙØ§ÙÛ Ø¨Ø²Ø±Ú¯ Ø§Ø®ØªÙØ§ÙâÙØ§Û Ø®ÛÙÛ Ú©ÙÚÚ© را Ø®ÙØ§ÙÛ٠داشت.
- Ø¬Ù Ø¹âØ¢ÙØ±Û ز٠ا٠بÛÚ©Ø§Ø±Û â Ø²Ø¨Ø§Ù٠ج٠عâÚ©Ù Ø³Ø¹Û Ù ÛâÚ©ÙØ¯ Ú©Ù ÙÙØ· ز٠اÙÛ Ú©Ù Ù¾Ø±Ø¯Ø§Ø²ÙØ¯Ù (CPU) بÛکار است کار Ø®ÙØ¯ را Ø§ÙØ¬Ø§Ù Ø¯ÙØ¯ تا ØªØ§Ø«ÛØ± ٠٠ک٠رÙÛ Ø§Ø¬Ø±Ø§ شد٠را Ú©Ø§ÙØ´ Ø¯ÙØ¯.
بÙÛÙÙâØ³Ø§Ø²Û Ù Ø±ÙØ´âÙØ§Û دÛÚ¯Ø±Û ÙÙ Ø¨Ø±Ø§Û Ø§ÙÚ¯ÙØ±Ûت٠âÙØ§Û زباÙÙâØ±ÙØ¨Û ÙØ¬Ùد دارد. ÙÙ Ø§Ù ÙØ¯Ø± Ú©Ù Ø¯ÙØ³Øª دار٠آÙÙØ§ را اÛÙØ¬Ø§ ØªÙØ¶ÛØ Ø¯ÙÙ Ø ÙØ¨Ø§Ûد ادا٠٠دÙÙ Ø ÚÙÙ Ù ÙØªÙØ±ÙØ§Û ٠ختÙ٠تکÙÛÚ© Ù ÙÙâÙØ§Û ٠ختÙÙÛ Ø±Ø§ Ù¾ÛØ§Ø¯ÙâØ³Ø§Ø²Û Ù ÛâÚ©ÙÙØ¯. ٠اÛÙ ØØªÛ Ù Ù٠تر است Ú©Ù ÙÙ Ø§ÙØ·Ùر Ú©Ù Ù ÙØªÙØ±ÙØ§ Ù¾ÛØ´Ø±Ùت Ù ÛâÚ©ÙÙØ¯ ÚÛØ²ÙاÛÛ Ù٠تغÛÛØ± Ù ÛâÚ©ÙÙØ¯Ø پس Ù Ø·Ø§ÙØ¹ÙâÛ Ø¹Ù ÛÙâØªØ± âÙ¾ÛØ´Ø±ÙتÙâ Ø¨Ø¯ÙÙ ÙÛØ§Ø² ÙØ§ÙØ¹Û Ø§ØØªÙ Ø§ÙØ§ ارزش ÙØ¯Ø§Ø±Ø¯. ٠گر اÛÙÚ©ÙØ Ù ÙØ¶Ùع Ú©Ø§Ù ÙØ§ Ù Ø±Ø¨ÙØ· Ø¨Ù Ø¹ÙØ§Ù٠باشد ک٠در اÛÙ ØµÙØ±Øª ÙÛÙÚ©âÙØ§ÛÛ Ø¨Ø±Ø§Û Ø´Ù Ø§ در پاÛÛÙ ÙØ±Ø§Ø± داد٠شد٠است.
Ø®ÙØ§ØµÙ
ÚÛØ²ÙØ§Û Ù ÙÙ Ú©Ù Ø¨Ø§ÛØ¯ بداÙÛÙ :
- زباÙÙâØ±ÙØ¨Û Ø¨Ù ØµÙØ±Øª Ø®ÙØ¯Ú©Ø§Ø± Ø§ÙØ¬Ø§Ù Ù ÛâØ´ÙØ¯. ٠ا ÙÙ ÛâØªÙØ§ÙÛ٠آ٠را Ù Ø¬Ø¨ÙØ± ÛØ§ از آ٠جÙÙÚ¯ÛØ±Û Ú©ÙÛÙ .
- Ø´ÛØ¡Ùا تا ز٠اÙÛ Ú©Ù ÙØ§Ø¨Ù دسترس Ø¨Ø§Ø´ÙØ¯ در ØØ§Ùظ٠باÙÛ Ù Ûâ٠اÙÙØ¯.
- ٠رجع Ø¨ÙØ¯Ù با ÙØ§Ø¨Ù دسترس Ø¨ÙØ¯Ù (از ÛÚ© Ø±ÛØ´Ù) Ûکسا٠ÙÛØ³Øª: ÙÙ Ø§ÙØ·Ùر ک٠در Ù Ø«Ø§Ù Ø¨Ø§ÙØ§ Ø¯ÛØ¯ÛÙ Ø ÛÚ© دستÙâÛ Ø´ÛØ¡ÙØ§Û Ø¨ÙÙ Ù¾ÛÙØ³ØªÙ Ù ÛâØªÙØ§ÙÙØ¯ Ø¨Ù Ø·ÙØ± Ú©Ø§Ù Ù ØºÛØ± ÙØ§Ø¨Ù دسترس Ø´ÙÙØ¯.
Ù ÙØªÙØ±ÙØ§Û ٠در٠اÙÚ¯ÙØ±Ûت٠âÙØ§Û Ù¾ÛØ´Ø±ÙتÙâÛ Ø²Ø¨Ø§ÙÙâØ±ÙØ¨Û را Ù¾ÛØ§Ø¯ÙâØ³Ø§Ø²Û Ù ÛâÚ©ÙÙØ¯.
کتاب Ú©ÙÛ âThe Garbage Collection Handbook: The Art of Automatic Memory Managementâ (R. Jones ٠بÙÛÙ Ø§ÙØ±Ø§Ø¯) Ø¨Ø¹Ø¶Û Ø§Ø² Ø¢ÙÙØ§ را Ù¾ÙØ´Ø´ Ù ÛâØ¯ÙØ¯.
<<<<<<< HEAD اگر ش٠ا با Ø¨Ø±ÙØ§Ù ÙâÙÙÛØ³Û Ø³Ø·Ø Ù¾Ø§ÛÛÙ Ø¢Ø´ÙØ§ÛÛ Ø¯Ø§Ø±ÛØ¯Ø Ø§Ø·ÙØ§Ø¹Ø§ØªÛ با جزÛÛØ§Øª دربار٠زباÙÙâØ±ÙØ¨Û V8 در اÛÙ Ù ÙØ§Ù٠است A tour of V8: Garbage Collection.
Ø¨ÙØ§Ú¯ V8 ÙÙ ÙØ± ÚÙØ¯ گاÙÛ Ù ÙØ§ÙÙâÙØ§ÛÛ Ø¯Ø±Ø¨Ø§Ø±Ù ØªØºÛÛØ±Ø§Øª Ù Ø¯ÛØ±Ûت ØØ§ÙØ¸Ù Ù ÙØªØ´Ø± Ù ÛâÚ©ÙØ¯. Ø·Ø¨ÛØ¹ØªØ§Ø Ø¨Ø±Ø§Û ÛØ§Ø¯Ú¯ÛØ±Û Ø²Ø¨Ø§ÙÙâØ±ÙØ¨ÛØ Ø´Ù Ø§ Ø¨ÙØªØ± است Ø¨Ù Ø·ÙØ± Ú©ÙÛ Ø¨Ø§ ÛØ§Ø¯ Ú¯Ø±ÙØªÙ Ù ÙØ§Ø±Ø¯ داخÙÛ V8 آ٠اد٠شÙÛØ¯ Ù Ø¨ÙØ§Ú¯ Vyacheslav Egorov Ú©Ù ÛÚ©Û Ø§Ø² Ù ÙÙØ¯Ø³âÙØ§Û V8 Ø¨ÙØ¯ را Ø¨Ø®ÙØ§ÙÛØ¯. Ù Ù Ù ÛâÚ¯ÙÛÙ : âV8â ÚÙÙ Ù ÙØ§ÙÙâÙØ§Û Ø²ÛØ§Ø¯Û دربار٠آ٠در اÛÙØªØ±Ùت ÙØ¬Ùد دارد. Ø¨Ø±Ø§Û Ù ÙØªÙØ±ÙØ§Û دÛÚ¯Ø±Ø Ø¨ÛØ´ØªØ± Ø±ÙØ´âÙØ§ Ù Ø´Ø§Ø¨Ù ÙØ³ØªÙØ¯Ø Ø§Ù Ø§ زباÙÙâØ±ÙØ¨Û در Ø¬ÙØ¨ÙâÙØ§Û Ø²ÛØ§Ø¯Û Ù ØªÙØ§Ùت است.
اگر ش٠ا بÙÛÙÙâØ³Ø§Ø²ÛâÙØ§Û Ø³Ø·Ø Ù¾Ø§ÛÛ٠را ÙÛØ§Ø² Ø¯Ø§Ø±ÛØ¯Ø Ø¯Ø§ÙØ´ ع٠ÛÙ Ø¯Ø±Ø¨Ø§Ø±Ù Ù ÙØªÙØ±ÙØ§ ÚÛØ² Ø®ÙØ¨Û است. اÛ٠کار عاÙÙØ§ÙÙâØ§Û Ø§Ø³Øª ک٠بعد از Ø¢Ø´ÙØ§ÛÛ Ø¨Ø§ Ø²Ø¨Ø§Ù Ø¨Ø±Ø§Û Ø¢Ù Ø¨Ø±ÙØ§Ù ÙâØ±ÛØ²Û Ú©ÙÛØ¯.
If you are familiar with low-level programming, more detailed information about V8âs garbage collector is in the article A tour of V8: Garbage Collection.
The V8 blog also publishes articles about changes in memory management from time to time. Naturally, to learn more about garbage collection, youâd better prepare by learning about V8 internals in general and read the blog of Vyacheslav Egorov who worked as one of the V8 engineers. Iâm saying: âV8â, because it is best covered by articles on the internet. For other engines, many approaches are similar, but garbage collection differs in many aspects.
In-depth knowledge of engines is good when you need low-level optimizations. It would be wise to plan that as the next step after youâre familiar with the language.
5dff42ba283bce883428c383c080fa9392b71df8
ÙØ¸Ø±Ø§Øª
<code>Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛØ¯Ø Ø¨Ø±Ø§Û ÚÙØ¯Û٠خط â کد را درÙ٠تگ<pre>ÙØ±Ø§Ø± دÙÛØ¯Ø Ø¨Ø±Ø§Û Ø¨ÛØ´ از د٠خط کد â Ø§Ø² ÛÚ© جعبÙÙ Ø´ÙÛ Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛØ¯. (plnkrØ jsbinØ codepenâ¦)