تÙÙØ´ÙØ£ اÙÙØ§Ø¦Ùات عادة ÙØªÙÙ ÙØ«ÙÙÙ Ø£Ø´ÙØ§Ø¡ Ù Ù Ø§ÙØ¹Ø§ÙÙ Ø§ÙØÙÙÙ٠٠ث٠اÙ٠ستخد٠ÙÙØ ÙØ§ÙØ·ÙØ¨Ø§ØªØ ÙØºÙØ±ÙØ§:
let user = {
name: "John",
age: 30
};
ÙÙ ÙÙ ÙÙ٠ستخد٠ÙÙ Ø§ÙØ¹Ø§ÙÙ Ø§ÙØÙÙÙ٠أ٠ÙÙÙ٠بعدة ØªØµØ±ÙØ§Øª: Ù Ø«Ù Ø§Ø®ØªÙØ§Ø± Ø´ÙØ¡ Ù Ù Ø³ÙØ© Ø§ÙØªØ³ÙÙØ تسجÙÙ Ø§ÙØ¯Ø®ÙÙØ ÙØ§ÙØ®Ø±ÙØ¬ â¦Ø¥ÙØ®.
تÙÙ ÙØ«ÙÙÙ ÙØ°Ù Ø§ÙØªØµØ±Ùات ÙÙ ÙØºØ© JavaScript Ø¨Ø¥Ø³ÙØ§Ø¯ Ø¯Ø§ÙØ© Ø¥ÙÙ Ø®Ø§ØµÙØ© ÙØªØ¯Ø¹Ù Ø§ÙØ¯Ø§ÙØ© Ø¢ÙØ°Ø§Ù Ø¨Ø§ÙØªØ§Ø¨Ø¹ (methodØ Ø£Ù Ø¯Ø§ÙØ© تابعة ÙÙØ§Ø¦Ù).
Ø£Ù Ø«ÙØ© عÙÙ Ø§ÙØ¯ÙاÙ
Ø¨Ø¯Ø§ÙØ©ÙØ ÙÙØ¬Ø¹Ù اÙÙ
ستخدÙ
user ÙÙÙÙ Ù
Ø±ØØ¨Ùا:
let user = {
name: "John",
age: 30
};
user.sayHi = function() {
alert("Hello!");
};
user.sayHi(); // Hello!
Here weâve just used a Function Expression to create a function and assign it to the property user.sayHi of the object.
Then we can call it as user.sayHi(). The user can now speak!
A function that is a property of an object is called its method.
So, here weâve got a method sayHi of the object user.
ÙÙ ÙÙÙØ§ Ø£ÙØ¶Ùا Ø§Ø³ØªØ®Ø¯Ø§Ù Ø¯Ø§ÙØ© Ù Ø¹Ø±ÙØ© ٠سبÙÙØ§ بدÙÙØ§ ٠٠ذÙÙ Ù٠ا ÙÙÙ:
let user = {
// ...
};
// Ø£ÙÙØ§Ø ÙØ¹Ø±Ù Ø¯Ø§ÙØ©
function sayHi() {
alert("Hello!");
};
// أضÙÙ Ø§ÙØ¯Ø§ÙØ© ÙÙØ®Ø§ØµÙØ© ÙØ¥Ùشاء تابع
user.sayHi = sayHi;
user.sayHi(); // Hello!
ÙØ³Ù
Ù ÙØªØ§Ø¨Ø© Ø§ÙØ´ÙÙØ±Ø© Ø§ÙØ¨Ø±Ù
Ø¬ÙØ© باستخداÙ
اÙÙØ§Ø¦Ùات ÙÙØªØ¹Ø¨Ùر Ø¹Ù Ø§ÙØ§Ø´Ùاء Â«Ø¨Ø§ÙØ¨Ø±Ù
جة Ø§ÙØ´ÙØ¦ÙØ©/ÙØ§Ø¦ÙÙØ©Â» ([object-oriented programming](https://en.wikipedia.org/wiki/Object-oriented_programming)Ø ØªÙØ®ØªÙØµÙØ± Ø¥ÙÙ "OOP").
OOP ÙÙ Ù
ÙØ¶Ùع ÙØ¨ÙØ±Ø¬Ø¯ÙØ§Ø ÙÙ٠عÙÙ
Ù
Ø´ÙÙ ÙÙ
ستÙ٠بذاتÙ. ÙØ¹ÙÙ
Ù ÙÙ٠تختار اÙÙØ§Ø¦Ùات Ø§ÙØµØÙØØ©Ø ÙÙÙ ØªÙØ¸Ù
Ø§ÙØªÙاع٠ÙÙÙ
ا بÙÙÙØ§Ø ÙÙ
ا ÙØ¹Ø¯ عÙÙ
ÙØ§ ÙÙÙÙÙÙØ© ÙÙÙØ¬Ø¯ Ø§ÙØ¹Ø¯Ùد Ù
٠اÙÙØªØ¨ Ø§ÙØ£Ø¬ÙØ¨ÙØ© Ø§ÙØ¬Ùدة Ø¹Ù ÙØ°Ø§ اÙÙ
ÙØ¶Ùع Ù
Ø«Ù ÙØªØ§Ø¨ âDesign Patterns: Elements of Reusable Object-Oriented Softwareâ ÙÙÙ
ؤÙÙÙÙ E.GammaØ Ù R.HelmØ Ù R.JohnsonØ Ù J.Vissides Ø£Ù ÙØªØ§Ø¨ âObject-Oriented Analysis and Design with Applicationsâ ÙÙÙ
ؤÙÙ G.BoochØ ÙØºÙرÙÙ
ا.
اختصار Ø§ÙØ¯Ø§ÙØ©
ÙÙØ¬Ø¯ طرÙÙØ© Ø£ÙØµØ± ÙÙØªØ§Ø¨Ø© Ø§ÙØ¯Ùا٠Ù٠اÙÙØ§Ø¦Ùات اÙÙ Ø¹Ø±ÙØ© تعرÙÙÙØ§ Ù Ø®ØªØµØ±ÙØ§ Ø¨Ø§Ø³ØªØ¹Ù Ø§Ù Ø§ÙØ£ÙÙØ§Ø³ تÙÙÙ Ø¨Ø§ÙØ´ÙÙ Ø§ÙØªØ§ÙÙ:
// ÙØªØµØ±Ù اÙÙØ§Ø¦ÙØ§Ù Ø§ÙØªØ§ÙÙØ§Ù Ø¨Ø§ÙØ·Ø±ÙÙØ© ÙÙØ³Ùا
user = {
sayHi: function() {
alert("Hello");
}
};
// ÙØ¨Ø¯Ù Ø´ÙÙ Ø§ÙØ¯Ø§ÙØ© اÙÙ
ختصر Ø£ÙØ¶ÙØ Ø£ÙÙØ³ ÙØ°ÙÙØ
user = {
sayHi() { // same as "sayHi: function()"
alert("Hello");
}
};
ÙÙ
ÙÙÙØ§ ØØ°Ù اÙÙÙÙ
Ø© "function" ÙÙØªØ§Ø¨Ø© sayHi()â ÙÙ
ا ÙÙ Ù
ÙØ¶Ø. ØÙÙÙØ©ÙØ Ø§ÙØªØ¹Ø¨ÙرÙÙ ÙÙØ³Ø§ Ù
تطابÙÙ٠تÙ
اÙ
ÙØ§Ø ÙÙØ¬Ø¯ Ø§Ø®ØªÙØ§Ùات Ø®ÙÙØ© Ù
تعÙÙØ© باÙÙØ±Ø§Ø«Ø© Ù٠اÙÙØ§Ø¦Ùات (Ø³ÙØªÙ
شرØÙا ÙØ§ØÙÙØ§)Ø ÙÙÙ ÙØ§ ÙÙØ¬Ø¯ Ù
Ø´ÙÙØ© Ø§ÙØ¢Ù. ÙÙØ¶Ù استخداÙ
Ø§ÙØµÙاغة Ø§ÙØ£Ùصر ÙÙ ÙÙ Ø§ÙØØ§ÙØ§Øª ØªÙØ±ÙØ¨ÙØ§.
اÙÙÙÙ Ø© âthisâ ÙÙ Ø§ÙØ¯ÙاÙ
Ù
٠اÙÙ
ØªØ¹Ø§Ø±Ù Ø£Ù Ø§ÙØ¯ÙØ§Ù ØªØØªØ§Ø¬ ÙÙÙØµÙ٠إÙ٠اÙÙ
عÙÙÙ
ات اÙÙ
Ø®Ø²ÙØ© Ù٠اÙÙØ§Ø¦Ù ÙÙØªÙÙØ° عÙ
ÙÙØ§. Ù
Ø«ÙÙØ§Ø ÙØ¯ ØªØØªØ§Ø¬ Ø§ÙØ´ÙÙØ±Ø© Ø§ÙØªÙ بداخ٠user.sayHi()â ÙÙØ§Ø³Ù
اÙÙ
ستخدÙ
user. ÙÙØ§Ø
ÙÙ
ÙÙ ÙÙØ¯Ø§ÙØ© استخداÙ
اÙÙÙÙ
Ø© this ÙÙÙØµÙ٠إÙÙ ÙØ³Ø®Ø© اÙÙØ§Ø¦Ù Ø§ÙØªÙ Ø§Ø³ØªØ¯Ø¹ØªÙØ§
Ø£ÙØ ÙÙÙ
Ø© this Ù٠اÙÙØ§Ø¦Ù âÙØ¨Ù اÙÙÙØ·Ø©â Ø§ÙØ°Ù Ø§Ø³ØªÙØ®Ø¯ÙÙ
ÙØ§Ø³ØªØ¯Ø¹Ø§Ø¡ Ø§ÙØ¯Ø§ÙØ©.
Ù Ø«ÙÙØ§:
let user = {
name: "John",
age: 30,
sayHi() {
// "this" Ù٠اÙÙØ§Ø¦Ù Ø§ÙØØ§ÙÙ"
alert(this.name);
}
};
user.sayHi(); // John
Ø£Ø«ÙØ§Ø¡ تÙÙÙØ° user.sayHi()â ÙÙØ§Ø ستÙÙÙ ÙÙÙ
Ø© this Ù٠اÙÙØ§Ø¦Ù user
عÙ
ÙÙÙØ§Ø ÙÙ
Ù٠اÙÙØµÙ٠إÙ٠اÙÙØ§Ø¦Ù بدÙ٠استخداÙ
this Ø¨Ø§ÙØ±Ø¬Ùع Ø¥ÙÙ٠باستخداÙ
اسÙ
اÙÙ
ØªØºÙØ± Ø§ÙØ®Ø§Ø±Ø¬Ù:
let user = {
name: "John",
age: 30,
sayHi() {
alert(user.name); // "user" ÙØ¯ÙÙØ§ Ù
Ù "this"
}
};
â¦ÙÙÙØ ÙØ§ ÙÙ
ÙÙ Ø§ÙØ§Ø¹ØªÙ
اد عÙÙ Ø§ÙØ·Ø±ÙÙØ© Ø§ÙØ³Ø§Ø¨ÙØ©. ÙØ¥Ø°Ø§ ÙØ±Ø±Ùا ÙØ³Ø® اÙÙØ§Ø¦Ù user Ø¥ÙÙ Ù
ØªØºÙØ± Ø¢Ø®Ø±Ø Ù
Ø«ÙØ§: admin = user ÙØºÙØ±ÙØ§ Ù
ØØªÙÙ user ÙØ´ÙØ¡ Ø¢Ø®Ø±Ø ÙØ³ÙتÙ
Ø§ÙØ¯Ø®Ù٠إÙ٠اÙÙØ§Ø¦Ù Ø§ÙØ®Ø·Ø£ ÙÙ
ا ÙÙ Ù
ÙØ¶Ø Ù٠اÙÙ
Ø«Ø§Ù Ø§ÙØªØ§ÙÙ:
let user = {
name: "John",
age: 30,
sayHi() {
alert( user.name ); // ÙØªØ³Ø¨Ø¨ Ù٠خطأ
}
};
let admin = user;
user = null; // تغÙÙØ± اÙÙ
ØØªÙÙ ÙØªÙØ¶ÙØ Ø§ÙØ£Ù
ر
admin.sayHi(); // TypeError: Cannot read property 'name' of null
إ٠استخدÙ
ÙØ§ this.name بدÙÙØ§ Ù
Ù user.name بداخ٠alertØ ÙØ³ØªØ¹Ù
Ù Ø§ÙØ´ÙÙØ±Ø© عÙ
ÙÙØ§ صØÙØÙا.
In JavaScript, keyword this behaves unlike most other programming languages. It can be used in any function, even if itâs not a method of an object.
اÙÙÙÙ
Ø© this ÙÙ JavaScript تتصر٠تصرÙÙØ§ Ù
ختÙÙÙØ§ ع٠باÙ٠اÙÙØºØ§Øª Ø§ÙØ¨Ø±Ù
Ø¬ÙØ©. ÙÙÙ
Ù٠استخداÙ
ÙØ§ ÙÙ Ø£Ù Ø¯Ø§ÙØ©. Ø§ÙØ¸Ø± Ø¥Ù٠اÙÙ
Ø«Ø§Ù Ø§ÙØªØ§ÙÙØ إذ ÙØ§ ÙÙØ¬Ø¯ خطأ ÙÙ Ø§ÙØµÙاغة
function sayHi() {
alert( this.name );
}
تÙÙÙÙÙÙÙ
ÙÙÙ
Ø© this Ø£Ø«ÙØ§Ø¡ تÙÙÙØ° Ø§ÙØ´ÙÙØ±Ø© Ø¨Ø§ÙØ§Ø¹ØªÙ
اد عÙÙ Ø§ÙØ³ÙاÙ. Ù
Ø«ÙÙØ§Ø Ù٠اÙÙ
Ø«Ø§Ù Ø§ÙØªØ§ÙÙØ تÙ
تعÙÙÙ Ø§ÙØ¯Ø§ÙØ© Ø°Ø§ØªÙØ§ Ø¥ÙÙ ÙØ§Ø¦ÙÙÙ Ù
ختÙÙÙÙ ÙÙØµØ¨Ø ÙÙÙ Ù
ÙÙÙ
ا ÙÙÙ
Ø© Ù
ختÙÙØ© ÙÙ âthisâ Ø£Ø«Ùاء Ø§ÙØ§Ø³ØªØ¯Ø¹Ø§Ø¡:
let user = { name: "John" };
let admin = { name: "Admin" };
function sayHi() {
alert( this.name );
}
// استخداÙ
Ø§ÙØ¯Ø§ÙØ© Ø°Ø§ØªÙØ§ Ù
ع ÙØ§Ø¦ÙÙÙ Ù
ختÙÙÙÙ
user.f = sayHi;
admin.f = sayHi;
// tÙØ¯Ù Ø§ÙØ§Ø³ØªØ¯Ø¹Ø§Ø¦ÙÙ ÙÙÙ
Ø© Ù
ختÙÙØ© ÙÙ
// "this" Ø§ÙØªÙ Ø¨Ø¯Ø§Ø®Ù Ø§ÙØ¯Ø§ÙØ© تعÙ٠اÙÙ
ØªØºÙØ± Ø§ÙØ°Ù ÙØ¨Ù اÙÙÙØ·Ø©
user.f(); // John (this == user)
admin.f(); // Admin (this == admin)
admin['f'](); // Admin (ÙÙ
Ù٠اÙÙØµÙ٠إÙÙ Ø§ÙØ¯Ø§ÙØ© عبر Ø§ÙØµÙغة اÙÙÙØ·ÙØ© Ø£Ù Ø§ÙØ£ÙÙØ§Ø³ اÙÙ
ربعة â ÙØ§ ÙÙØ¬Ø¯ Ù
Ø´ÙÙØ© Ù٠ذÙÙ)
اÙÙØ§Ø¹Ø¯Ø© ببساطة: إذا Ø§Ø³ØªÙØ¯Ø¹ÙÙÙØª Ø§ÙØ¯Ø§ÙØ© obj.f()âØ ÙØ¥Ù this ÙÙ obj Ø£Ø«ÙØ§Ø¡ استدعاء fØ Ø£Ù Ø¥Ù
ا user Ø£Ù admin Ù٠اÙÙ
Ø«Ø§Ù Ø§ÙØ³Ø§Ø¨Ù.
this == undefinedÙÙ ÙÙÙØ§ استدعاء Ø§ÙØ¯Ø§ÙØ© دÙÙ ÙØ§Ø¦Ù:
function sayHi() {
alert(this);
}
sayHi(); // ØºÙØ± Ù
عرÙÙÙ
ÙÙ ÙØ°Ù Ø§ÙØØ§ÙØ© ستÙÙÙ ÙÙÙ
Ø© this ÙÙ undefined Ù٠اÙÙØ¶Ø¹ Ø§ÙØµØ§Ø±Ù
. ÙØ¥Ù ØØ§ÙÙÙØ§ اÙÙØµÙ٠إÙÙ this.name سÙÙÙÙ ÙÙØ§Ù خطأ.
Ù٠اÙÙØ¶Ø¹ ØºÙØ± Ø§ÙØµØ§Ø±Ù
Ø ÙØ¥Ù ÙÙÙ
Ø© this ÙÙ ÙØ°Ù Ø§ÙØØ§ÙØ© ستÙÙ٠اÙÙ
ØªØºÙØ± Ø§ÙØ¹Ø§Ù
(Ù٠اÙÙ
ØªØµÙØ window ÙØ§Ùت٠سÙÙØ´Ø±ØÙا ÙÙ ÙØµÙ اÙÙ
ØªØºÙØ±Ø§Øª Ø§ÙØ¹Ø§Ù
Ø©). ÙØ°Ø§ Ø§ÙØ³ÙÙ٠زÙ
ÙÙ ÙØ³ØªØ®Ø¯Ù
Ø¥ØµÙØ§ØØ§Øª اÙÙØ¶Ø¹ Ø§ÙØµØ§Ø±Ù
"use strict".
ÙÙØ¹Ø¯ ÙØ°Ø§ Ø§ÙØ§Ø³ØªØ¯Ø¹Ø§Ø¡ خطأ٠برÙ
جÙÙØ§ ØºØ§ÙØ¨Ùا. ÙØ¥Ù ÙÙØ¬Ùدت this Ø¨Ø¯Ø§Ø®Ù Ø¯Ø§ÙØ©Ø ÙÙ
٠اÙÙ
تÙÙØ¹ Ø§Ø³ØªØ¯Ø¹Ø§Ø¤ÙØ§ Ù
Ù Ø®ÙØ§Ù ÙØ§Ø¦Ù.
this Ø§ÙØºÙر Ù
ØØ¯Ùدة اÙÙØ·Ø§ÙØ¥Ù Ø£ØªÙØª Ù
Ù ÙØºØ© برÙ
Ø¬ÙØ© Ø£Ø®Ø±ÙØ ÙÙ
٠اÙÙ
تÙÙØ¹ Ø£ÙÙ Ù
عتاد عÙÙ âthis اÙÙ
ØØ¯ÙØ¯Ø©â Ø¥Ø° ÙÙ
ÙÙ ÙÙÙØ¯Ùا٠اÙÙ
عرÙÙÙØ© Ù٠اÙÙØ§Ø¦Ù استخداÙ
this Ø§ÙØªÙ ترجع ÙÙÙØ§Ø¦Ù.
تستخدÙ
this Ø¨ØØ±ÙØ© ÙÙ JavaScriptØ ÙØªÙÙÙÙÙÙÙ
ÙÙÙ
ØªÙØ§ Ø£Ø«ÙØ§Ø¡ Ø§ÙØªÙÙÙØ° ÙÙØ§ تعتÙ
د عÙ٠اÙÙ
ÙØ§Ù ØÙØ« Ø¹ÙØ±ÙÙÙØª ÙÙÙØ ب٠عÙ٠اÙÙØ§Ø¦Ù Ø§ÙØ°Ù ÙØ¨Ù اÙÙÙØ·Ø© Ø§ÙØªÙ استدعت Ø§ÙØ¯Ø§ÙØ©.
ÙÙØ¬Ø¯ Ø§ÙØ¬Ø§Ø¨Ùات ÙØ³ÙØ¨ÙØ§Øª ÙÙ
بدأ تÙÙÙÙ
this Ø£Ø«ÙØ§Ø¡ ÙÙØª Ø§ÙØªØ´ØºÙÙ. ÙÙ
Ù ÙØ§ØÙØ©Ø ÙÙ
Ù٠إعادة استخداÙ
Ø§ÙØ¯Ø§ÙØ© Ù
ع عدة ÙØ§Ø¦ÙØ§ØªØ ÙÙ
٠اÙÙØ§ØÙØ© Ø§ÙØ£Ø®Ø±ÙØ Ø§ÙÙ
رÙÙØ© Ø§ÙØ£Ùثر ØªØ¹Ø·Ù ÙØ±ØµÙا Ø£ÙØ«Ø± ÙÙØ®Ø·Ø£. ÙØ³Ùا بصدد Ø§ÙØÙÙ
عÙ٠تصÙ
ÙÙ
اÙÙØºØ© ÙÙØ¹ØªÙ Ø¨Ø§ÙØ¬Ùد Ø£Ù
Ø³ÙØ¡Ø Ø¨Ù ÙØØ§ÙÙ ÙÙÙ
طرÙÙØ© عÙ
ÙÙØ§ ÙÙÙÙÙØ© Ø§ÙØ§Ø³ØªÙادة Ù
Ù Ù
ÙØ²Ø§ØªÙا ÙØªØ¬Ùب Ø§ÙØ£Ø®Ø·Ø§Ø¡.
ÙØ¯ÙØ§Ù Ø§ÙØ³ÙÙ ÙØ© ÙØ§ تØÙÙ "this
Ø§ÙØ¯ÙØ§Ù Ø§ÙØ³ÙÙ
ÙØ© (Arrow function) ÙÙ Ø¯ÙØ§Ù خاصة: ÙÙÙ ÙØ§ تÙ
ÙÙ this Ù
خصصة ÙÙØ§. Ø¥Ù ÙØ¶Ø¹Ùا this ÙÙ Ø¥ØØ¯Ù ÙØ°Ù Ø§ÙØ¯Ùا٠ÙÙØ³ØªØ¤Ø®Ø° ÙÙÙ
Ø© this Ù
Ù Ø§ÙØ¯Ø§ÙØ© Ø§ÙØ®Ø§Ø±Ø¬ÙØ©.
Ù
Ø«ÙÙØ§Ø ØªØØµÙ Ø§ÙØ¯Ø§ÙØ© arrow()â Ø¹ÙÙ ÙÙÙ
Ø© this Ù
Ù Ø§ÙØ¯Ø§ÙØ© Ø§ÙØ®Ø§Ø±Ø¬ÙØ© user.sayHi()â:
let user = {
firstName: "Ilya",
sayHi() {
let arrow = () => alert(this.firstName);
arrow();
}
};
user.sayHi(); // Ilya
ÙÙØ¹Ø¯ ذÙÙ Ø¥ØØ¯Ù Ù
ÙØ²Ø§Øª Ø¯ÙØ§Ù Ø§ÙØ¯ÙØ§Ù Ø§ÙØ³ÙÙ
ÙØ©Ø ÙÙÙ Ù
ÙÙØ¯Ø© Ø¹ÙØ¯Ù
ا ÙØ§ ÙØ±Ùد استخداÙ
this Ù
ستÙÙØ©Ø ÙÙØ±Ùد Ø£Ø®Ø°ÙØ§ Ù
Ù Ø§ÙØ³ÙØ§Ù Ø§ÙØ®Ø§Ø±Ø¬Ù بدÙÙØ§ Ù
٠ذÙÙ. سÙÙØªØ¹Ù
Ù ÙÙ Ù
ÙØ¶Ùع Ø§ÙØ¯ÙØ§Ù Ø§ÙØ³ÙÙ
ÙØ© ÙØ§ØÙÙØ§ ÙÙ ÙØµÙ «إعادة اÙÙØ¸Ø± ÙÙ Ø§ÙØ¯ÙØ§Ù Ø§ÙØ³ÙÙ
ÙØ©Â».
Ø§ÙØ®Ùاصة
- Ø§ÙØ¯Ùا٠اÙÙ Ø®Ø²ÙØ© Ù٠اÙÙØ§Ø¦Ùات ØªØ³Ù Ù Â«ØªÙØ§Ø¨Ø¹Â» (methods).
- تسÙ
Ø ÙØ°Ù اÙÙØ§Ø¦Ùات Ø¨Ø§Ø³ØªØ¯Ø¹Ø§Ø¦ÙØ§ Ø¨Ø§ÙØ´ÙÙ
object.doSomething()â. - ÙÙ
ÙÙ ÙÙØ¯Ùا٠اÙÙØµÙ٠إÙ٠اÙÙØ§Ø¦Ù اÙÙ
Ø¹Ø±ÙØ© ÙÙÙ (أ٠اÙÙØ³Ø®Ø© Ø§ÙØªÙ استدعت٠اÙÙ
Ø´ØªÙØ© Ù
ÙÙ) باستخداÙ
اÙÙÙÙ
Ø© اÙÙ
ÙØªØ§ØÙØ©
this. - ØªÙØ¹ÙرÙÙÙ ÙÙÙ
Ø©
thisØ£Ø«ÙØ§Ø¡ Ø§ÙØªÙÙÙØ°. - ÙØ¯ ÙØ³ØªØ®Ø¯Ù
thisØ¹ÙØ¯ تعرÙÙ Ø¯Ø§ÙØ©Ø ÙÙÙÙØ§ ÙØ§ ت٠Ù٠أ٠ÙÙÙ Ø© ØØªÙ استدعاء Ø§ÙØ¯Ø§ÙØ©. - ÙÙ ÙÙ ÙØ³Ø® Ø¯Ø§ÙØ© بÙ٠اÙÙØ§Ø¦Ùات.
- Ø¹ÙØ¯ استدعاء Ø¯Ø§ÙØ© Ø¨Ø§ÙØµÙغة
object.method()âØ ÙØ¥Ù ÙÙÙ Ø©thisØ£Ø«ÙØ§Ø¡ Ø§ÙØ§Ø³ØªØ¯Ø¹Ø§Ø¡ ÙÙobject.
ÙØ§ØØ¸ Ø£Ù Ø§ÙØ¯ÙØ§Ù Ø§ÙØ³ÙÙ
ÙØ© Ù
ختÙÙØ© تتعاÙ
٠تعاÙ
ÙÙØ§ Ù
ختÙÙÙØ§ Ù
ع this إذ ÙØ§ تÙ
ÙÙ ÙÙÙ
Ø© ÙÙØ§. Ø¹ÙØ¯ اÙÙØµÙ٠إÙÙ this Ø¨Ø¯Ø§Ø®Ù Ø¯Ø§ÙØ© سÙÙ
ÙØ© ÙØ¥Ù ÙÙÙ
ØªÙØ§ تؤخذ Ù
٠اÙÙØ·Ø§Ù اÙÙ
ÙØ¬Ùدة ÙÙÙ.
Ø§ÙØªØ¹ÙÙÙØ§Øª
<code>Ø ÙÙÙÙØ«Ùر Ù Ù Ø§ÙØ³Ø·Ùر استخدÙ<pre>Ø ÙÙØ£Ùثر Ù Ù 10 Ø³Ø·ÙØ± استخد٠(plnkr, JSBin, codepenâ¦)