Ø¬Ø§ÙØ§ Ø³ÙØ±Ùبت ØªØªÙØ ÙÙØ§ Ø§ÙØ¹Ù Ù Ø¨Ø§ÙØ£Ø³Ø§ÙÙØ¨ Ø§ÙØ¨Ø¯Ø§Ø¦ÙØ© (strings, numbers, etc.) Ù٠ا ÙÙ ÙØ§Ùت objects. Ù٠ا Ø£ÙÙØ§ تÙÙØ± ÙØ³Ø§Ø¦Ù ÙÙØ£ØªØµØ§Ù عÙÙ ÙØ°Ø§ اÙÙØÙ. ÙØ³ÙØ¯Ø±Ø³ÙØ§ ÙØ±Ùبا, ÙÙ٠أÙÙØ§Ù Ø³ÙØ±Ù ÙÙÙ ÙØ¹Ù Ù ÙØ£Ù Ø§ÙØ£Ø³Ø§ÙÙØ¨ Ø§ÙØ¨Ø¯Ø§Ø¦ÙØ© ÙÙØ³Øª objects (ÙÙÙØ§ Ø³ÙØ¬Ø¹ÙÙ Ø£ÙØ«Ø± ÙØ¶ÙØØ§Ù).
ÙÙÙØ¸Ø± Ø¥Ù٠اÙÙØ±ÙÙ Ø§ÙØ±Ø¦ÙØ³ÙØ© بÙÙ Ø§ÙØ£Ø³Ø§ÙÙØ¨ Ø§ÙØ¨Ø¯Ø§Ø¦ÙØ© Ù objects .
Ø¨Ø¯Ø§Ø¦ÙØ©
- ÙÙ ÙÙÙ Ø© ٠٠اÙÙÙØ¹ Ø§ÙØ¨Ø¯Ø§Ø¦Ù.
- ÙÙØ§Ù 7 Ø£ÙÙØ§Ø¹ Ø¨Ø¯Ø§Ø¦ÙØ©:
string,number,bigint,boolean,symbol,nullØ£ÙØ¶Ø§undefined.
An object
- ÙØ§Ø¯Ø± عÙ٠تخزÙÙ ÙÙ٠٠تعددة ÙØ®ØµØ§Ø¦Øµ.
- ÙÙ
Ù٠تÙÙÙÙÙ Ø¨ÙØ§Ø³Ø·Ø©
{}, عÙ٠سبÙ٠اÙ٠ثاÙ:{name: "John", age: 30}. ÙÙØ§Ù Ø£ÙÙØ§Ø¹ أخر٠٠٠objects ÙÙ Ø¬Ø§ÙØ§ Ø³ÙØ±Ùبت: functions, عÙ٠سبÙ٠اÙ٠ثاÙ, objects.
Ø£ØØ¯ Ø£ÙØ¶Ù Ø§ÙØ£Ø´Ùاء Ù٠ا٠objects Ù٠أÙÙ ÙÙ ÙÙÙØ§ Ø£Ù ÙØ®Ø²Ù a function ÙØ£ØØ¯ Ø®ØµØ§Ø¦ØµÙØ§.
let john = {
name: "John",
sayHi: function() {
alert("Hi buddy!");
}
};
john.sayHi(); // Hi buddy!
إذا٠ÙÙØ§ ØµÙØ¹Ùا an object john Ù
ع ا٠sayHi method.
Ø§ÙØ¹Ø¯Ùد ٠٠ا٠built-in objects Ù ÙØ¬Ùدة باÙÙØ¹Ù, ٠ث٠تÙÙ Ø§ÙØªÙ تع٠٠٠ع Ø§ÙØªÙØ§Ø±ÙØ® Ù Ø§ÙØ£Ø®Ø·Ø§Ø¡ Ù Ø¹ÙØ§ØµØ± HTML , Ø¥ÙØ®. ÙÙÙ٠خصائص ÙØ£Ø³Ø§ÙÙØ¨ ٠ختÙÙØ©.
ÙÙÙÙ Ø ØªØ£ØªÙ ÙØ°Ù اÙÙ ÙØ²Ø§Øª بتÙÙÙØ©!
Objects âØ§Ø«ÙÙâ Ù Ù Ø§ÙØ£Ø³Ø§ÙÙØ¨ Ø§ÙØ¨Ø¯Ø§Ø¦ÙØ©. ÙÙÙ ØªØªØ·ÙØ¨ Ù ÙØ§Ø±Ø¯ إضاÙÙØ© ÙØ¯Ø¹Ù Ø§ÙØ¢ÙÙØ© Ø§ÙØ¯Ø§Ø®ÙÙØ©.
Ø¨Ø¯Ø§Ø¦Ù ÙØ§ an object
ÙÙØ§ Ø§ÙØªÙØ§ÙØ¶ Ø§ÙØ°Ù ÙØ§Ø¬Ù ØµØ§ÙØ¹ Ø¬Ø§ÙØ§ Ø³ÙØ±Ùبت:
- ÙÙØ§Ù Ø§ÙØ¹Ø¯Ùد Ù Ù Ø§ÙØ£Ø´Ùاء Ø§ÙØªÙ ÙÙ Ù٠أ٠ÙÙØ¹ÙÙØ§ Ø§ÙØ´Ø®Øµ Ø¨Ø§ÙØ£Ø³ÙÙØ¨ Ø§ÙØ¨Ø¯Ø§Ø¦Ù ٠ث٠string Ø£Ù number. سÙÙÙÙ Ù Ù Ø§ÙØ±Ø§Ø¦Ø¹ استخدا٠ÙÙ ÙØ§ methods.
- Ø§ÙØ£Ø³Ø§ÙÙØ¨ Ø§ÙØ¨Ø¯Ø§Ø¦ÙØ© ÙØ¬Ø¨ أ٠تÙÙÙ Ø³Ø±ÙØ¹Ø© ÙØ®ÙÙÙØ© Ø¨ÙØ¯Ø± Ø§ÙØ¥Ù ÙØ§Ù.
Ø¥Ù Ø§ÙØÙ ÙØ¨Ø¯Ù ØºØ±ÙØ¨Ø§ بعض Ø§ÙØ´ÙØ¡Ø ÙÙÙÙ ÙØ§ ÙÙ:
- Ø§ÙØ£Ø³Ø§ÙÙØ¨ Ø§ÙØ¨Ø¯Ø§Ø¦ÙØ© ٠ا Ø²Ø§ÙØª Ø¨Ø¯Ø§Ø¦ÙØ©. ÙÙÙ Ø© ÙØ§ØØ¯Ø©, Ù٠ا ÙØÙÙ ÙÙØ§.
- ØªØ³Ù Ø Ø§ÙÙØºØ© باÙÙØµÙ٠اÙ٠ا٠methods Ù Ø§ÙØ®ØµØ§Ø¦Øµ Ø§ÙØ®Ø§ØµØ© ب strings, numbers, booleans Ù symbols.
- ÙÙÙÙ ÙØ¹Ù ٠ذÙÙØ ÙØªÙ Ø¥ÙØ´Ø§Ø¡ âobject wrapperâ Ø®Ø§Øµ ÙÙÙØ± اÙÙØ¸Ø§Ø¦Ù Ø§ÙØ¥Ø¶Ø§ÙÙØ©Ø Ø«Ù ÙØªÙ ØªØ¯Ù ÙØ±Ù.
ا٠âobject wrappersâ ØªØ®ØªÙÙ ÙÙÙ ÙÙØ¹ بدائ٠٠تدعÙ: String, Number, Boolean Ù Symbol. ÙØ¨Ø§ÙتاÙÙØ ÙØ¥ÙÙØ§ تÙÙØ± Ù
جÙ
ÙØ¹Ø§Øª Ù
ختÙÙØ© Ù
Ù methods.
عÙ٠سبÙ٠اÙÙ
ثاÙ
, ÙÙØ§ÙÙ a string method ()str.toUpperCase Ø§ÙØªÙ ترجع capitalized str.
Ø¥ÙÙÙ ÙÙÙ ÙØ¹Ù Ù:
let str = "Hello";
alert( str.toUpperCase() ); // HELLO
Ø¨Ø³ÙØ·Ø Ø£ÙÙØ³ ÙØ°ÙÙØ Ø¥ÙÙÙÙ
Ù
ا ÙØØ¯Ø« Ù٠اÙÙØ§Ùع ()str.toUpperCase:
- اÙÙØµ
strÙÙ ÙÙØ¹ بدائÙ. ÙØ°Ø§ ÙÙ ÙØØ¸Ø© اÙÙÙÙØ¬ ÙØ®ØµØ§Ø¦ØµÙ, ÙØªÙÙÙ object خاص ÙØ¹Ø±Ù ÙÙÙ Ø© اÙÙØµ, Ù ÙØ¯ÙÙ methods Ù ÙÙØ¯Ø©, Ù Ø«Ù()toUpperCase. - ÙØ°Ù ا٠method تعÙÙ
ÙÙ ÙØªÙÙÙ
بإرجاع ÙØµ Ø¬Ø¯ÙØ¯ (ÙØ¹Ø±Ø¶ Ø¨ÙØ§Ø³Ø·Ø©
alert). - ا٠object تÙ
تدÙ
ÙØ±Ù, ٠تر٠اÙÙÙØ¹ Ø§ÙØ¨Ø¯Ø§Ø¦Ù
strÙ ÙÙÙÙÙØ±ÙداÙ.
ÙÙ ÙÙ ÙÙØ£ÙÙØ§Ø¹ Ø§ÙØ¨Ø¯Ø§Ø¦ÙØ© أ٠تÙÙØ± methods, ÙÙÙÙØ§ ÙØ§ تزا٠خÙÙÙØ©.
Ù ØØ±Ù Ø¬Ø§ÙØ§ Ø³ÙØ±Ùبت ÙØ±ØªÙÙ Ø¨ÙØ°Ù Ø§ÙØ¹Ù ÙÙØ© Ø¥ÙÙ Ø£ÙØµÙ ØØ¯. ÙØ¯ ÙØªØ®Ø·Ù ع٠ÙÙØ© تÙÙÙÙ object إضاÙ٠عÙÙ Ø§ÙØ¥Ø·ÙاÙ. ÙÙÙ٠٠ا زا٠عÙÙÙØ§ Ø£Ù ØªÙØªØ²Ù باÙÙ ÙØ§ØµÙات ÙØªØªØµØ±Ù Ù٠ا Ù٠أÙÙØ§ ØªÙØ´Ø¦ ÙØ§ØØ¯.
Ø§ÙØ±ÙÙ ÙØ¯Ù٠ا٠methods Ø§ÙØ®Ø§ØµØ© بÙ, عÙ٠سبÙ٠اÙ٠ثاÙ, toFixed(n) تÙÙÙ Ø¨ØªÙØ±Ùب Ø§ÙØ±ÙÙ ØØ³Ø¨ اÙÙÙÙ Ø© اÙ٠عطا٠:
let n = 1.23456;
alert( n.toFixed(2) ); // 1.23
Ø³ÙØ±Ù methods Ø£ÙØ«Ø± ØªØØ¯Ùدا٠Ù٠اÙÙØµÙÙ Ø§ÙØ£Ø¹Ø¯Ø§Ø¯ Ù Ø§ÙØ³Ùاس٠اÙÙØµÙØ©.
String/Number/Boolean ÙÙ ÙÙØ§Ø³ØªØ¹Ù
Ø§Ù Ø§ÙØ¯Ø§Ø®ÙÙ ÙÙØ·Ø¨Ø¹Ø¶ اÙÙØºØ§Øª Ù
Ø«Ù Ø¬Ø§ÙØ§ تسÙ
Ø ÙÙØ§ Ø¨ØµØ±ÙØ Ø§ÙØªØ¹Ø¨Ùر Ø¨ØµÙØ¹ âobject wrappersâ ÙÙØ£ÙÙØ§Ø¹ Ø§ÙØ¨Ø¯Ø§Ø¦ÙØ© بإستخداÙ
syntax Ù
ث٠new Number(1) أ٠new Boolean(false).
ÙÙ Ø¬Ø§ÙØ§ Ø³ÙØ±Ùبت, ÙÙØ°Ø§ Ù Ù ÙÙ Ø£ÙØ¶Ø§ ÙØ£Ø³Ø¨Ø§Ø¨ ØªØ§Ø±ÙØ®ÙØ©, اÙÙ ØºÙØ± Ù ÙØµÙ بÙ. ستصاب Ø§ÙØ£Ù ÙØ± Ø¨Ø§ÙØ¬ÙÙÙ Ù٠عدة Ù ÙØ§Ø¶Ø¹.
عÙ٠سبÙ٠اÙ٠ثاÙ:
alert( typeof 0 ); // "number"
alert( typeof new Number(0) ); // "object"!
Objects دائÙ
ا صاد٠ÙÙ if, ÙØ°Ø§ ÙÙØ§ Ø³ÙØ¸Ùر Ø§ÙØ¥Ùذار:
let zero = new Number(0);
if (zero) { // zero is true, because it's an object
alert( "zero is truthy!?!" );
}
Ù
Ù ÙØ§ØÙØ© أخرÙ, استخداÙ
ÙÙØ³ ا٠functions String/Number/Boolean بدÙÙ new ÙÙ Ø´ÙØ¡ سÙÙÙÙ
Ù Ù
ÙÙØ¯. ÙØÙÙÙÙ ÙÙÙ
Ø© Ø¥Ù٠اÙÙÙØ¹ اÙÙ
ÙØ§Ø¨Ù: Ø¥ÙÙ a string, a number, or a boolean (primitive â ÙÙØ¹ بدائÙ).
عÙ٠سبÙ٠اÙ٠ثاÙ, ÙØ°Ø§ صØÙØ ØªÙ Ø§Ù Ø§:
let num = Number("123"); // convert a string to number
Ø§ÙØ£ÙÙØ§Ø¹ Ø§ÙØ¨Ø¯Ø§Ø¦ÙØ© Ø§ÙØ®Ø§ØµØ© null Ù undefined ØØ§Ùات Ø§Ø³ØªØ«ÙØ§Ø¦ÙØ©. ÙÙØ³ ÙØ¯ÙÙÙ
Ù
ا ÙØ´Ø§Ø¨ÙÙÙ
âwrapper objectsâ Ù ÙØ§ ØªØ²ÙØ¯Ùا با٠methods. بÙ
عÙÙ, ÙÙ
âØ§ÙØ£Ùثر Ø¨Ø¯Ø§Ø¦ÙØ©â.
ÙÙ Ù Ø´Ø£Ù Ù ØØ§ÙÙØ© اÙÙØµÙ٠إÙÙ Ø®Ø§ØµÙØ© Ø¨ÙØ°Ù اÙÙÙÙ Ø© Ø£Ù ØªØ¹Ø·Ù ÙØ°Ø§ Ø§ÙØ®Ø·Ø£:
alert(null.test); // error
Ù ÙÙØ®Ùص
- Ø§ÙØ£ÙÙØ§Ø¹ Ø§ÙØ¨Ø¯Ø§Ø¦ÙØ© Ù
اعدا
nullÙundefinedØªØ²ÙØ¯Ùا Ø¨Ø§ÙØ¹Ø¯Ùد ٠٠ا٠methods اÙ٠ساعدة. ÙØ³ÙØ¯Ø±Ø³ÙØ§ Ù٠اÙÙØµÙ٠اÙÙØ§Ø¯Ù Ø©. - Ø±ÙØ³Ù ÙÙÙØ§, ÙØ°Ù ا٠methods تع٠٠ع٠طرÙÙ objects Ù Ø¤ÙØªØ©, ÙÙÙÙ Ù ØØ±Ùات Ø¬Ø§ÙØ§ Ø³ÙØ±Ùبت Ù Ø¶Ø¨ÙØ·Ø© بشÙÙ Ø¬ÙØ¯ ÙØªØØ³Ù٠ذÙ٠داخÙÙØ§, ÙØ°Ø§ ÙÙØ³ Ù ÙÙÙØ§ إستدعائÙÙ .
Ø§ÙØªØ¹ÙÙÙØ§Øª
<code>Ø ÙÙÙÙØ«Ùر Ù Ù Ø§ÙØ³Ø·Ùر استخدÙ<pre>Ø ÙÙØ£Ùثر Ù Ù 10 Ø³Ø·ÙØ± استخد٠(plnkr, JSBin, codepenâ¦)