سÛÙØªÚ©Ø³ ٠ع٠ÙÙÛ {â¦} اجاز٠ساخت ÛÚ© Ø´ÛØ¡ را Ù Û Ø¯ÙØ¯. ا٠ا ØºØ§ÙØ¨Ø§ ٠ا ÙÛØ§Ø² دارÛÙ Ú©Ù Ø´ÛØ¡ ÙØ§Û Ù ØªØ´Ø§Ø¨Ù Ø²ÛØ§Ø¯Û Ø§ÛØ¬Ø§Ø¯ Ú©ÙÛÙ Ø Ù Ø«Ù ÚÙØ¯ کاربر ÛØ§ Ø¢ÛØªÙ ÙØ§Û Ù ÙÙ Ùâ¦
اÛÙ Ù
Û ØªÙØ§Ùد با Ø§Ø³ØªÙØ§Ø¯Ù از تابع ÙØ§Û Ø³Ø§Ø²ÙØ¯Ù ٠عÙ
Ùگر new Ø§ÙØ¬Ø§Ù
Ø´ÙØ¯.
تابع Ø³Ø§Ø²ÙØ¯Ù
تابع ÙØ§Û Ø³Ø§Ø²ÙØ¯Ù از ÙØØ§Ø¸ ÙÙÛ Ù٠ا٠تابع ÙØ§Û ٠ع٠ÙÙÛ ÙØ³ØªÙد. با اÛÙ ØØ§Ù Ø¯Ù ÙØ±Ø§Ø±Ø¯Ø§Ø¯ ÙØ¬Ùد دارد:
- Ø¢ÙÙØ§ با ØØ±Ù بزرگ اÙÚ¯ÙÛØ³Û ÙØ§Ù Ú¯Ø°Ø§Ø±Û Ù Û Ø´ÙÙØ¯.
- Ø¢ÙÙØ§ Ø¨Ø§ÛØ¯ ÙÙØ· با عÙ
Ùگر
newاجرا Ø´ÙÙØ¯.
Ø¨Ø±Ø§Û Ù Ø«Ø§Ù:
function User(name) {
this.name = name;
this.isAdmin = false;
}
let user = new User("Jack");
alert(user.name); // Jack
alert(user.isAdmin); // ÙØ§Ø¯Ø±Ø³Øª
زÙ
اÙÛ Ú©Ù ÛÚ© تابع با new اجرا Ù
Û Ø´ÙØ¯Ø Ù
راØÙ Ø²ÛØ± را Ø§ÙØ¬Ø§Ù
Ù
Û Ø¯ÙØ¯:
- ÛÚ© Ø´ÛØ¡ خاÙÛ Ø¬Ø¯ÛØ¯ ساخت٠Ù
Û Ø´ÙØ¯ ٠بÙ
thisاختصاص Ù Û ÛØ§Ø¨Ø¯. - بدÙÙ Û ØªØ§Ø¨Ø¹ اجرا Ù
Û Ø´ÙØ¯. Ù
عÙ
ÙÙØ§
thisرا تغÛÛØ± Ù Û Ø¯ÙØ¯Ø ÙÛÚÚ¯Û ÙØ§Û Ø¬Ø¯ÛØ¯ را ب٠آ٠اضاÙÙ Ù Û Ú©ÙØ¯. - Ù
ÙØ¯Ø§Ø±
thisØ¨Ø±Ú¯Ø±Ø¯Ø§ÙØ¯Ù Ù Û Ø´ÙØ¯.
Ø¨Ù Ø¹Ø¨Ø§Ø±ØªÛ Ø¯ÛÚ¯Ø±Ø new User(...) ÚÛØ²Û Ù
اÙÙØ¯ اÛ٠را Ø§ÙØ¬Ø§Ù
Ù
Û Ø¯ÙØ¯:
function User(name) {
// this = {}; (Ø¨Ù ØµÙØ±Øª ضÙ
ÙÛ)
// ÙÛÚÚ¯Û ÙØ§ را ب٠this اضاÙÙ Ù
ÛÚ©ÙØ¯
this.name = name;
this.isAdmin = false;
// return this; (Ø¨Ù ØµÙØ±Øª ضÙ
ÙÛ)
}
پس let user = new User("Jack") ÙØªÛج٠Ù
شابÙÛ Ù
اÙÙØ¯ کد Ø²ÛØ± را Ù
Û Ø¯ÙØ¯:
let user = {
name: "Jack",
isAdmin: false
};
ØØ§Ùا اگر Ù
ا Ø¨Ø®ÙØ§ÙÛÙ
Ú©Ù user ÙØ§Û دÛÚ¯Ø±Û Ø¨Ø³Ø§Ø²ÛÙ
Ø Ù
Û ØªÙØ§ÙÛÙ
new User("Ann")Ø new User("Alice") ٠⦠را صدا بزÙÛÙ
. اÛ٠کار Ø¨Ø³ÛØ§Ø± Ú©ÙØªØ§Ù تر از Ø§Ø³ØªÙØ§Ø¯Ù ÙÙ
ÛØ´Ú¯Û از literal ÙØ§ Ø§Ø³ØªØ Ù ÙÙ
ÚÙÛÙ Ø¨Ø±Ø§Û Ø®ÙØ§Ùد٠آسا٠است.
اÛÙ ÙØ¯Ù اصÙÛ Ø³Ø§Ø²ÙØ¯Ù ÙØ§ است â Ù¾ÛØ§Ø¯Ù Ø³Ø§Ø²Û Ú©Ø¯ ÙØ§Ø¨Ù Ø§Ø³ØªÙØ§Ø¯Ù ٠جدد ساخت Ø´ÛØ¡.
Ø¨ÛØ§ÛÛØ¯ Ø¯ÙØ¨Ø§Ø±Ù ب٠اÛÙ Ù
ÙØ¶Ùع اشار٠کÙÛÙ
â Ø§Ø² ÙØØ§Ø¸ ÙÙÛØ ÙØ± ØªØ§Ø¨Ø¹Û Ù
Û ØªÙØ§Ùد ب٠عÙÙØ§Ù Ø³Ø§Ø²ÙØ¯Ù Ø§Ø³ØªÙØ§Ø¯Ù Ø´ÙØ¯. ب٠اÛÙ Ù
عÙÛ Ú©Ù: ÙØ± ØªØ§Ø¨Ø¹Û Ù
Û ØªÙØ§Ùد با new اجرا Ø´ÙØ¯Ø ٠اÙÚ¯ÙØ±ÛتÙ
Ø¨Ø§ÙØ§ را اجرا Ú©ÙØ¯. âØØ±Ù اÙ٠بزرگ اÙÚ¯ÙÛØ³Ûâ ÛÚ© ÙØ±Ø§Ø±Ø¯Ø§Ø¯ عÙ
ÙÙ
Û Ø§Ø³ØªØ ØªØ§ اÛÙ Ù
ÙØ¶Ùع را Ú©Ù ÛÚ© تابع Ø¨Ø§ÛØ¯ با new اجرا Ø´ÙØ¯ را Ø´ÙØ§Ù Ø³Ø§Ø²Û Ú©ÙØ¯.
اگر ٠ا Ø®Ø·ÙØ· Ø²ÛØ§Ø¯Û از کد Ú©Ù Ù٠٠آÙÙØ§ Ù Ø±Ø¨ÙØ· ب٠ساخت ÛÚ© Ø´ÛØ¡ Ù¾ÛÚÛØ¯Ù ÙØ³ØªÙد را داشت٠باشÛÙ Ø Ù Û ØªÙØ§ÙÛ٠آÙÙØ§ را درÙ٠تابع Ø³Ø§Ø²ÙØ¯Ù بپÛÚÛÙ Ø Ø¨Ù Ø§ÛÙ ØµÙØ±Øª:
// create a function and immediately call it with new
let user = new function() {
this.name = "John";
this.isAdmin = false;
// ... کد ÙØ§Û دÛگر Ø¨Ø±Ø§Û Ø³Ø§Ø®Øª user
// Ø´Ø§ÛØ¯ شاÙ
Ù Ù
ÙØ·Ù Ù Ø¯Ø³ØªÙØ±Ø§ÙعÙ
Ù Ù¾ÛÚÛØ¯Ù Ø§Û Ø¨Ø§Ø´Ø¯
// Ù
ØªØºÛØ±ÙØ§Û Ù
ØÙÛ Ù...
};
Ø³Ø§Ø²ÙØ¯Ù ÙÙ Û ØªÙØ§Ùد Ø¯ÙØ¨Ø§Ø±Ù صدا Ø²Ø¯Ù Ø´ÙØ¯Ø ÚÙ٠در جاÛÛ Ø°Ø®ÛØ±Ù ÙØ´Ø¯ÙØ ÙÙØ· ساخت٠٠صدا زد٠شد٠است. پس اÛ٠ترÙÙØ¯Ø کپسÙÙ Ú©Ø±Ø¯Ù Ú©Ø¯Û Ú©Ù ÛÚ© Ø´ÛØ¡ Ù Û Ø³Ø§Ø²Ø¯ ٠در Ø¢ÛÙØ¯Ù Ø§Ø³ØªÙØ§Ø¯Ù ÙÙ Û Ø´ÙØ¯ را Ù ÙØ±Ø¯ ÙØ¯Ù ÙØ±Ø§Ø± Ù Û Ø¯ÙØ¯.
Ø³Ø§Ø²ÙØ¯Ù ÙØ§ÛÛ Ø¨Ø§ سÛÙØªÚ©Ø³ دÙگاÙÙ: new.target
سÛÙØªÚ©Ø³ اÛ٠بخش Ø¨Ù ÙØ¯Ø±Øª Ø§Ø³ØªÙØ§Ø¯Ù Ù Û Ø´ÙØ¯Ø آ٠را از ÙÙÙ Ø¨ÙØ¯Ø§Ø²Ûد ٠گر اÛÙÚ©Ù Ø¨Ø®ÙØ§ÙÛØ¯ ÙÙ Ù ÚÛØ² را بداÙÛØ¯.
درÙÙ ÛÚ© ØªØ§Ø¨Ø¹Ø Ù
ا Ù
Û ØªÙØ§ÙÛÙ
ÚÚ© Ú©ÙÛÙ
Ú©Ù ÙÙ
را٠با new صدا Ø²Ø¯Ù Ø´Ø¯Ù ÛØ§ بدÙÙ Ø¢ÙØ با Ø§Ø³ØªÙØ§Ø¯Ù از ÙÛÚÚ¯Û new.target.
Ø¢Ù(new.target) Ø¨Ø±Ø§Û Ù
ÙØ§ÙØ¹Û Ú©Ù ØªØ§Ø¨Ø¹ Ø¨Ù ØµÙØ±Øª Ù
عÙ
ÙÙÛ ØµØ¯Ø§ زد٠Ù
Û Ø´ÙØ¯ undefined است Ù Ø¯Ø±ØµÙØ±ØªÛ Ú©Ù ÙÙ
را٠با new صدا Ø²Ø¯Ù Ø´ÙØ¯ برابر با تابع است:
function User() {
alert(new.target);
}
// بدÙÙ "new":
User(); // undefined
// ÙÙ
را٠با "new":
new User(); // function User { ... }
از Ø¢Ù Ù
Û ØªÙØ§Ù Ø§Ø³ØªÙØ§Ø¯Ù کرد تا ÙÙ
صدا زد٠تابع با new Ù ÙÙ
صدا زد٠Ù
عÙ
ÙÙÛ ØªØ§Ø¨Ø¹ ب٠ÛÚ© شک٠کار Ú©ÙÙØ¯. ÛØ¹ÙÛ Ø§ÛÙÚ©Ù Ø´ÛØ¡ Ù
ØªØ´Ø§Ø¨Ù Ø¨Ø³Ø§Ø²ÙØ¯:
function User(name) {
if (!new.target) { // اگر ت٠Ù
را بدÙÙ new اجرا Ú©ÙÛ
return new User(name); // ... Ù
Ù new را Ø¨Ø±Ø§Û ØªÙ Ø§Ø¶Ø§ÙÙ Ù
ÛÚ©ÙÙ
}
this.name = name;
}
let john = User("John"); // ÙØ±Ø§Ø®ÙاÙÛ Ø±Ø§ ب٠new User ÙØ¯Ø§Ûت Ù
ÛÚ©ÙØ¯
alert(john.name); // John
اÛÙ Ø´ÛÙÙ Ø¨Ø¹Ø¶Û Ø§ÙÙØ§Øª درÙ٠کتابخاÙÙ ÙØ§ Ø§Ø³ØªÙØ§Ø¯Ù Ù
Û Ø´ÙØ¯ تا سÛÙØªÚ©Ø³ را Ù
ÙØ¹Ø·Ù تر Ú©ÙØ¯. با اÛÙ Ø±ÙØ´ Ø´Ø§ÛØ¯ Ù
ردÙ
تابع را ÙÙ
را٠با ÛØ§ بدÙÙ new صدا بزÙÙØ¯Ø ٠آ٠ÙÙ
ÚÙØ§Ù کار Ù
ÛÚ©ÙØ¯.
اگرÚÙ Ø´Ø§ÛØ¯ Ø®ÙØ¨ ÙØ¨Ø§Ø´Ø¯ ÙÙ
٠جا Ø§Ø³ØªÙØ§Ø¯Ù Ø´ÙØ¯Ø ÚÙÙ ØØ°Ù کرد٠new Ù
ÙØ¯Ø§Ø±Û از ÙØ§Ø¶Ø Ø¨ÙØ¯Ù اÛÙÚ©Ù ÚÙ ÚÛØ²Û در ØØ§Ù رخ داد٠است Ú©Ù
Ù
ÛÚ©ÙØ¯. ÙÙ
را٠با new ÙÙ
Ù Ù
ا Ù
ÛØ¯Ø§ÙÛÙ
Ú©Ù Ø´ÛØ¡ Ø¬Ø¯ÛØ¯Û در ØØ§Ù ساخت٠شد٠است.
Ø¨Ø±Ú¯Ø±Ø¯Ø§ÙØ¯Ù از Ø³Ø§Ø²ÙØ¯Ù ÙØ§
Ù
عÙ
ÙÙØ§Ø Ø³Ø§Ø²ÙØ¯Ù ÙØ§ Ø¯Ø³ØªÙØ± return ÙØ¯Ø§Ø±Ùد. ÙØ¸ÛÙ٠آÙÙØ§ اÛ٠است ک٠تÙ
اÙ
ÚÛØ²ÙØ§Û Ø¶Ø±ÙØ±Û را داخ٠this Ø¨Ø±ÛØ²ÙØ¯Ø Ù Ø¢Ù(this) تبدÛÙ Ø¨Ù ÙØªÛج٠Ù
Û Ø´ÙØ¯.
اÙ
ا اگر Ø¯Ø³ØªÙØ± return ÙØ¬Ùد Ø¯Ø§Ø´ØªÙ Ø¨Ø§Ø´Ø¯Ø Ø³Ù¾Ø³ ÙØ§Ø¹Ø¯Ù ساد٠است:
- اگر
returnÙ٠را٠با Ø´ÛØ¡ صدا Ø²Ø¯Ù Ø´ÙØ¯Ø سپس Ø´ÛØ¡ ب٠جاÛthisØ¨Ø±Ú¯Ø±Ø¯Ø§ÙØ¯Ù Ù Û Ø´ÙØ¯. - اگر
returnÙ٠را٠با ÛÚ© primitive صدا Ø´Ø¯Ù Ø´ÙØ¯Ø ÙØ§Ø¯ÛØ¯Ù Ú¯Ø±ÙØªÙ Ù Û Ø´ÙØ¯.
Ø¨Ù Ø¹Ø¨Ø§Ø±ØªÛ Ø¯ÛÚ¯Ø±Ø return ÙÙ
را٠با ÛÚ© Ø´ÛØ¡ ÙÙ
Ø§Ù Ø´ÛØ¡ را برÙ
ÛÚ¯Ø±Ø¯Ø§ÙØ¯Ø در دÛگر Ù
ÙØ§Ø±Ø¯ this Ø¨Ø±Ú¯Ø±Ø¯Ø§ÙØ¯Ù Ù
Û Ø´ÙØ¯.
Ø¨Ø±Ø§Û Ù
Ø«Ø§ÙØ اÛÙØ¬Ø§ return با Ø¨Ø±Ú¯Ø±Ø¯Ø§ÙØ¯Ù ÛÚ© Ø´ÛØ¡ this را ÙØ§Ø¯Ûد٠Ù
ÛÚ¯ÛØ±Ø¯:
function BigUser() {
this.name = "John";
return { name: "Godzilla" }; // <-- اÛÙ Ø´ÛØ¡ را برÙ
ÛÚ¯Ø±Ø¯Ø§ÙØ¯
}
alert( new BigUser().name ); // Godzilla, Ø¢Ù Ø´ÛØ¡ را ÙØªÛج٠داد
٠اÛÙØ¬Ø§ ÙÙ
ÛÚ© Ù
ثا٠با ÛÚ© return خاÙÛ Ø¯Ø§Ø±ÛÙ
(ÛØ§ Ù
Û ØªÙØ§ÙستÛÙ
بعد از Ø¢Ù ÛÚ© primitive بگذارÛÙ
Ø ÙØ±ÙÛ ÙØ¯Ø§Ø±Ø¯):
function SmallUser() {
this.name = "John";
return; // <-- this را برÙ
ÛÚ¯Ø±Ø¯Ø§ÙØ¯
}
alert( new SmallUser().name ); // John
Ù
عÙ
ÙÙØ§ Ø³Ø§Ø²ÙØ¯Ù ÙØ§ Ø¯Ø³ØªÙØ± return ÙØ¯Ø§Ø±Ùد. اÛÙØ¬Ø§ Ù
ا اÛÙ Ø±ÙØªØ§Ø± خاص Ø¨Ø±Ú¯Ø±Ø¯Ø§ÙØ¯Ù Ø´ÛØ¡Ùا را تÙÙØ§ Ø¨Ø±Ø§Û Ú©Ø§Ù
Ù Ø¨ÙØ¯Ù خاطر ÙØ´Ø§Ù کردÛÙ
.
Ø±Ø§Ø³ØªÛØ اگر ÙÛÚ Ø¢Ø±Ú¯ÙÙ
اÙÛ Ø¯Ø± کار ÙØ¨Ø§Ø´Ø¯Ø Ù
ا Ù
Û ØªÙØ§ÙÛÙ
Ù¾Ø±Ø§ÙØªØ±ÙØ§Û Ø¨Ø¹Ø¯ از new را ØØ°Ù Ú©ÙÛÙ
:
let user = new User; // <-- بدÙÙ Ù¾Ø±Ø§ÙØªØ²
// Ù
شاب٠است با
let user = new User();
اÛÙØ¬Ø§ ØØ°Ù Ú©Ø±Ø¯Ù Ù¾Ø±Ø§ÙØªØ²Ùا ب٠عÙÙØ§Ù ÛÚ© âØ³Ø¨Ú© Ø®ÙØ¨â ÙØ±Ø¶ ÙÙ Û Ø´ÙØ¯Ø ا٠ا سÛÙØªÚ©Ø³ Ø·Ø¨Ù Ø®ØµÙØµÛات ٠جاز است.
Ù ØªØ¯ÙØ§ در Ø³Ø§Ø²ÙØ¯Ù
Ø§Ø³ØªÙØ§Ø¯Ù از تابع ÙØ§Û Ø³Ø§Ø²ÙØ¯Ù Ø¨Ø±Ø§Û Ø³Ø§Ø®Øª Ø´ÛØ¡Ùا Ø§ÙØ¹Ø·Ø§Ù Ø²ÛØ§Ø¯Û ب٠٠ا Ù ÛØ¯Ùد. تابع Ø³Ø§Ø²ÙØ¯Ù ٠٠ک٠است Ù¾Ø§Ø±Ø§Ù ØªØ±ÙØ§ÛÛ Ø¯Ø§Ø´ØªÙ Ø¨Ø§Ø´Ø¯ ک٠تعÛÛÙ Ù ÛÚ©ÙØ¯ ÚÚ¯ÙÙÙ Ø´ÛØ¡ Ø³Ø§Ø®ØªÙ Ø´ÙØ¯Ø Ù ÚÙ ÚÛØ²Û Ø¯Ø§Ø®Ù Ø¢Ù ÙØ±Ø§Ø± Ø¯Ø§Ø¯Ù Ø´ÙØ¯.
ÙØ·Ø¹Ø§ Ù
ا Ù
Û ØªÙØ§ÙÛÙ
Ø¹ÙØ§Ù٠بر ÙÛÚÚ¯Û ÙØ§Ø Ù
ØªØ¯ÙØ§ را ÙÙ
ب٠this اضاÙÙ Ú©ÙÛÙ
.
Ø¨Ø±Ø§Û Ù
Ø«Ø§ÙØ new User(name) ک٠در Ø²ÛØ± ÙØ±Ø§Ø± دارد ÛÚ© Ø´ÛØ¡ Ù
ÛØ³Ø§Ø²Ø¯ ک٠ب٠آ٠name Ù Ù
تد sayHi داد٠شد٠است:
function User(name) {
this.name = name;
this.sayHi = function() {
alert( "My name is: " + this.name );
};
}
let john = new User("John");
john.sayHi(); // My name is: John
/*
john = {
name: "John",
sayHi: function() { ... }
}
*/
Ø¨Ø±Ø§Û Ø³Ø§Ø®Øª Ø´ÛØ¡ÙØ§Û Ù¾ÛÚÛØ¯ÙØ ÛÚ© سÛÙØªÚ©Ø³ Ù¾ÛØ´Ø±ÙØªÙ ØªØ±Ø Ú©ÙØ§Ø³ ÙØ§Ø ÙØ¬Ùد دارد ک٠٠ا بعدا آ٠را Ù¾ÙØ´Ø´ Ù Û Ø¯ÙÛÙ .
Ø®ÙØ§ØµÙ
- تابع ÙØ§Û Ø³Ø§Ø²ÙØ¯ÙØ ÛØ§ Ø¨Ù Ø§Ø®ØªØµØ§Ø±Ø Ø³Ø§Ø²ÙØ¯Ù ÙØ§Ø تابع ÙØ§ÛÛ Ù Ø¹Ù ÙÙÛ ÙØ³ØªÙØ¯Ø Ø§Ù Ø§ ÛÚ© ØªÙØ§Ù٠ع٠ÙÙ Û ÙØ¬Ùد دارد ک٠آÙÙØ§ را با ØØ±Ù بزرگ اÙÚ¯ÙÛØ³Û ÙØ§Ù Ú¯Ø°Ø§Ø±Û Ú©ÙÛÙ .
- تابع ÙØ§Û Ø³Ø§Ø²ÙØ¯Ù Ø¨Ø§ÛØ¯ تÙÙØ§ با
newصدا زد٠شÙÙØ¯. ÚÙÛ٠صدا زدÙÛ Ø¨Ù Ø³Ø§Ø®Øª ÛÚ©thisخاÙÛ Ø¯Ø± آغاز Ù Ø¨Ø±Ú¯Ø±Ø¯Ø§ÙØ¯Ù پر Ø´Ø¯Ù Û Ø¢Ù Ø¯Ø± Ù¾Ø§ÛØ§Ù Ø§Ø´Ø§Ø±Ù Ù Û Ú©ÙØ¯.
٠ا Ù Û ØªÙØ§ÙÛ٠از تابع ÙØ§Û Ø³Ø§Ø²ÙØ¯Ù Ø¨Ø±Ø§Û Ø³Ø§Ø®Øª ÚÙØ¯ Ø´ÛØ¡ Ù ØªØ´Ø§Ø¨Ù Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛÙ .
Ø¬Ø§ÙØ§Ø§Ø³Ú©Ø±Ûپت تابع ÙØ§Û Ø³Ø§Ø²ÙØ¯Ù را Ø¨Ø±Ø§Û Ø¨Ø³ÛØ§Ø±Û از Ø´ÛØ¡ÙاÛÛ Ú©Ù Ø¯Ø±ÙÙ Ø²Ø¨Ø§Ù Ø³Ø§Ø®ØªÙ Ø´Ø¯Ù Ø§ÙØ¯ ÙØ±Ø§ÙÙ
Ù
ÛÚ©ÙØ¯: Ù
ث٠Date Ø¨Ø±Ø§Û Ø²Ù
Ø§Ù ÙØ§Ø Set Ø¨Ø±Ø§Û set ÙØ§ ٠بÙÛÙ Ú©Ù Ù
ا Ù
Ø·Ø§ÙØ¹Ù Ø¢ÙÙØ§ را در ÙØ¸Ø± دارÛÙ
.
در اÛÙ ÙØµÙ ٠ا ÙÙØ· اصÙ٠اÙÙÛ٠را Ø¨Ø±Ø§Û Ø´ÛØ¡Ùا Ù Ø³Ø§Ø²ÙØ¯Ù ÙØ§ را Ù¾ÙØ´Ø´ Ù Û Ø¯ÙÛÙ . Ø¢ÙÙØ§ Ø¨Ø±Ø§Û ÛØ§Ø¯Ú¯ÛØ±Û Ø¨ÛØ´ØªØ± دربار٠اÙÙØ§Ø¹ داد٠٠تابع ÙØ§ در ÙØµÙ ÙØ§Û Ø¢ÛÙØ¯Ù Ø¶Ø±ÙØ±Û ÙØ³ØªÙد.
بعد از اÛÙک٠آ٠را ÛØ§Ø¯ Ú¯Ø±ÙØªÛÙ Ø Ø¯Ø± ÙØµÙ Ù ÙØ§ÙÙ "object-oriented-programming" Ù¾ÛØ¯Ø§ ÙØ´Ø¯ (Ø¨Ø±ÙØ§Ù Ù ÙÙÛØ³Û Ø´ÛØ¡Ú¯Ø±Ø§) Ø¨Ù Ø´ÛØ¡Ùا بر Ù Û Ú¯Ø±Ø¯Û٠٠آÙÙØ§ را Ø¨Ù ØµÙØ±Øª ع٠ÛÙ Ù¾ÙØ´Ø´ Ù Û Ø¯ÙÛÙ Ø Ú©Ù Ø´Ø§Ù Ù ÙØ±Ø§Ø«Øª Ù Ú©ÙØ§Ø³ ÙØ§ ÙÙ Ù Û Ø´ÙØ¯.
ÙØ¸Ø±Ø§Øª
<code>Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛØ¯Ø Ø¨Ø±Ø§Û ÚÙØ¯Û٠خط â کد را درÙ٠تگ<pre>ÙØ±Ø§Ø± دÙÛØ¯Ø Ø¨Ø±Ø§Û Ø¨ÛØ´ از د٠خط کد â Ø§Ø² ÛÚ© جعبÙÙ Ø´ÙÛ Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛØ¯. (plnkrØ jsbinØ codepenâ¦)