ØªØ·ÙØ±Øª ÙØºØ© JavaScript Ø®ÙØ§Ù ÙØªØ±Ø© Ø·ÙÙÙØ© دÙ٠أ٠٠شاÙÙ ÙÙ Ø§ÙØªÙاÙÙ. ÙØ¬Ø±Ù Ø§ÙØªØÙ٠٠٠است٠رار Ø¹Ù Ù Ø¬Ù ÙØ¹ ÙØ¸Ø§Ø¦ÙÙØ§ ÙÙ Ù٠٠رة تضا٠إÙÙÙØ§ خصائص Ø¬Ø¯ÙØ¯Ø©.
ÙÙØ§Ù ÙØ°ÙÙ ÙØ§Ø¦Ø¯Ø© ÙØ¨Ùرة Ù٠است٠رار Ø¹Ù Ù Ø§ÙØ´ÙÙØ±Ø§Øª Ø§ÙØ¨Ø±Ù Ø¬ÙØ© اÙÙ ÙØ¬Ùدة دÙ٠تعطÙÙØ§. ÙÙÙÙ ÙØ§Ù ÙÙ ÙØ§ØÙØ© Ø³ÙØ¨ÙØ© Ø£ÙØ¶ÙØ§Ø Ù٠أÙÙ Ø§ÙØ£Ø®Ø·Ø§Ø¡ ÙØ§Ùخصائص Ø§ÙØªÙ أضاÙÙØ§ Ù Ø·ÙØ±Ù اÙÙØºØ© بÙÙØª ٠ع اÙÙØºØ© Ø¥ÙÙ Ø§ÙØ£Ø¨Ø¯.
ÙØ§Ø³ØªÙ
رت ÙØ°Ø§ Ø§ÙØØ§Ù ØØªÙ ظÙÙØ± ECMAScript 5 (Ø§Ø®ØªØµØ§Ø±ÙØ§ ES5) Ù٠عاÙ
2009. Ø§ÙØªÙ Ø£Ø¶Ø§ÙØª خصائص Ø¬Ø¯ÙØ¯Ø© Ø¥Ù٠اÙÙØºØ© ÙØ¹Ø¯ÙÙØª عÙ٠بعض Ø§ÙØ®ØµØ§Ø¦Øµ اÙÙ
ÙØ¬Ùدة سابÙÙØ§. ÙÙØ¶Ù
ا٠استÙ
رار عÙ
Ù Ø§ÙØ´ÙÙØ±Ø§Øª Ø§ÙØ¨Ø±Ù
Ø¬ÙØ© Ø§ÙØ³Ø§Ø¨ÙØ©Ø ÙØ¥ÙÙ Ù
عظÙ
ÙØ°Ù Ø§ÙØªØ¹Ø¯ÙÙØ§Øª ÙØ§Ùت ØºÙØ± ÙØ¹ÙØ§ÙØ© بشÙÙ Ø§ÙØªØ±Ø§Ø¶ÙØ ÙÙØ§Ø³ØªØ®Ø¯Ø§Ù
ÙØ§Ø عÙÙÙ ØªÙØ¹ÙÙÙØ§ بشÙÙ ØµØ±ÙØ باستخداÙ
اÙÙ
ÙØ¬Ù Ø§ÙØ®Ø§Øµ: "use strict".
اÙÙ
ÙØ¬Ù "use strict"
ÙØ¨Ø¯Ù اÙÙ
ÙØ¬Ù ÙØ³ÙØ³ÙØ© ÙØµÙØ©: "use-strict" Ø£Ù 'use strict'. ÙØ¹ÙدÙ
ا ÙÙØ¶Ø¹ ÙÙ Ø¨Ø¯Ø§ÙØ© Ø§ÙØ³ÙØ±Ø¨ØªØ ÙØ¹Ù
Ù Ø§ÙØ³Ùربت ØØ³Ø¨ اÙÙÙ
Ø· ÙØ§ÙطرÙÙØ© Ø§ÙØØ§ÙÙØ©.
Ø¥ÙÙ٠اÙÙ Ø«Ø§Ù Ø§ÙØªØ§ÙÙ:
"use strict";
//ÙØ°Ù Ø§ÙØ´ÙÙØ±Ø© Ø§ÙØ¨Ø±Ù
Ø¬ÙØ© تعÙ
Ù Ù٠اÙÙØ¶Ø¹ Ø§ÙØµØ§Ø±Ù
â¦
ÙØ±ÙØ¨ÙØ§Ø Ø³ÙØ¯Ø±Ø³ Ø§ÙØ¯Ùا٠(طرÙÙØ© ÙØ¬Ù
ع Ø§ÙØ£ÙاÙ
ر). ÙÙÙÙ ÙÙ ÙØ·Ø±Ø© استباÙÙØ© ÙÙÙ
ÙØ¶ÙØ¹Ø ÙØ§ØØ¸ Ø£ÙÙ Ø¨Ø§ÙØ¥Ù
ÙØ§Ù ÙØ¶Ø¹ "use strict" ÙÙ Ø¨Ø¯Ø§ÙØ© Ù
عظÙ
Ø£ÙÙØ§Ø¹ Ø§ÙØ¯ÙØ§Ù Ø¹ÙØ¶Ùا Ø¹Ù ÙØ§Ù
Ù Ø§ÙØ³Ùربت. ÙØ¨Ø°ÙÙ ÙØªÙ
ØªÙØ¹Ù٠اÙÙØ¶Ø¹ Ø§ÙØµØ§Ø±Ù
(strict mode) ضÙ
Ù Ø§ÙØ¯Ùا٠ÙÙØ·. ÙÙÙ Ø¹Ø§Ø¯Ø©Ù ÙØ³ØªØ®Ø¯Ù
اÙÙ
برÙ
جÙÙ ÙØ°Ø§ اÙÙØ¶Ø¹ ÙÙØ§Ù
Ù Ø§ÙØ³Ùربت.
ØªØ£ÙØ¯ Ù
Ù ÙØ¶Ø¹ "use script" ÙÙ Ø¨Ø¯Ø§ÙØ© Ø§ÙØ³ÙØ±Ø¨ØªØ§ØªØ ÙØ¥Ùا ÙØ¥ÙÙ Ù
٠اÙÙ
Ù
ÙÙ Ø£ÙØ§ ÙÙÙØ¹ÙÙ٠اÙÙØ¶Ø¹ Ø§ÙØµØ§Ø±Ù
.
ÙÙ
Ø«ÙÙØ§Ø اÙÙØ¶Ø¹ Ø§ÙØµØ§Ø±Ù
ØºÙØ± Ù
ÙØ¹ÙÙ Ù٠اÙÙ
Ø«Ø§Ù Ø§ÙØªØ§ÙÙ:
alert("some code");
// Ø¥Ù ÙÙ
ÙÙØ³ØªØ¹Ù
ÙÙ Ù٠أÙ٠سطر "use strict" Ø³ÙØ¬Ø±Ù تجاÙ٠اÙÙ
ÙØ¬Ù
"use strict"
// اÙÙØ¶Ø¹ Ø§ÙØµØ§Ø±Ù
ØºÙØ± Ù
ÙÙØ¹ÙÙÙ
بإÙ
ÙØ§ÙÙ ÙØªØ§Ø¨Ø© Ø§ÙØªØ¹ÙÙÙØ§Øª ÙÙØ· ÙØ¨Ù استخداÙ
اÙÙ
ÙØ¬Ù "use strict".
ÙØ§ØØ¸ Ø£ÙØ¶Ùا Ø£ÙÙ ÙÙØ³ ÙÙØ§Ù طرÙÙØ© ÙØ¥Ùغاء "use strict"Ø Ø£Ù ÙØ§ ÙÙØ¬Ø¯ Ù
ÙØ¬Ù آخر Ù
ث٠"no use strict" ÙØ§ÙØ°Ù ÙØ«Ù٠اÙÙ
ØØ±Ù ع٠عÙ
ÙÙ ÙÙÙØºÙ ØªÙØ¹Ù٠اÙÙØ¶Ø¹ Ø§ÙØµØ§Ø±Ù
. ÙØ°ÙÙ Ø¹ÙØ¯ بدء استخداÙ
اÙÙØ¶Ø¹ Ø§ÙØµØ§Ø±Ù
Ø ÙØ§ ØªÙØ¬Ø¯ طرÙÙØ© ÙØ¥ÙØºØ§Ø¦Ù ÙØ§ÙØ¹ÙØ¯Ø© Ø¥Ù٠اÙÙØ¶Ø¹ Ø§ÙØ§ÙتراضÙ.
طرÙÙØ© اÙÙ ØªØµÙØ
أبÙÙ Ù٠ذÙÙ٠أ٠طرÙÙØ© اÙÙ
ØªØµÙØ (console) ÙØ§ تستخدÙ
اÙÙØ¶Ø¹ Ø§ÙØµØ§Ø±Ù
ÙØ§Ø®ØªØ¨Ø§Ø± ÙØªÙÙÙØ° Ø§ÙØ´ÙÙØ±Ø§Øª اÙÙ
ÙØªÙبة ÙÙÙØ§Ø أ٠أÙÙØ§ ÙØ§ تستخدÙ
"use strict" Ø§ÙØªØ±Ø§Ø¶ÙÙØ§.
Ø¹ÙØ¯Ù
ا ÙÙØ¬Ø¯ ÙÙØ§Ù Ø§Ø®ØªÙØ§Ù بÙÙ "use strict" ÙØ§ÙÙÙ
Ø· Ø§ÙØ§Ùتراض٠Ù٠بعض Ø§ÙØ£ØÙØ§ÙØ ÙØ¯ ØªØØµÙ عÙÙ ÙØ§ØªØ¬ خطأ. ÙÙÙ ØªÙØ¬Ø Ù
ØØ§ÙÙØªÙ ÙÙ ØªÙØ¹Ù٠اÙÙØ¶Ø¹ Ø§ÙØµØ§Ø±Ù
(strict) Ø¨Ø§ÙØ¶ØºØ· عÙÙ Ø§ÙØ§Ø®ØªØµØ§Ø± Shift+Enter ÙØ¥Ø¯Ø®Ø§Ù عدة Ø£Ø³Ø·Ø±Ø Ø«Ù
استخداÙ
"use strict" ÙÙ Ø§ÙØ¨Ø¯Ø§ÙØ© ÙØ°Ù٠بسبب طرÙÙØ© Ù
Ø¹Ø§ÙØ¬Ø© Ø§ÙØ·Ø±ÙÙØ© ÙÙØ´ÙÙØ±Ø© Ø§ÙØ¨Ø±Ù
Ø¬ÙØ© داخÙÙÙØ§.
Ø§ÙØ·Ø±ÙÙØ© Ø§ÙØ£Ùض٠ÙÙØªØ£Ùد Ù
٠عÙ
Ù "use strict" ÙÙ ÙØªØ§Ø¨Ø© Ø§ÙØ´ÙÙØ±Ø© Ø§ÙØ¨Ø±Ù
Ø¬ÙØ© ضÙ
Ù Ø§ÙØ·Ø±ÙÙØ© ÙÙ
ا ÙÙÙ:
(function() {
'use strict';
// ⦠ضع Ø´ÙÙØ±ØªÙ ÙÙØ§ â¦
})()
استخد٠âuse strictâ Ø¯ÙÙ ÙØ§
Ø³ÙØªØ¹ÙÙ ÙØ§ØÙÙØ§ Ø§ÙØ§Ø®ØªÙØ§ÙØ§Øª بÙ٠اÙÙØ¶Ø¹ Ø§ÙØµØ§Ø±Ù ÙØ§ÙÙØ¶Ø¹ Ø§ÙØ§ÙØªØ±Ø§Ø¶Ù Ø§ÙØ°Ù تع٠٠ض٠ÙÙ Ø§ÙØ´ÙÙØ±Ø§Øª. ÙÙ٠اÙÙØµÙ اÙÙØ§Ø¯Ù Ø Ø³ØªÙØ§ØØ¸ Ø§ÙØ§Ø®ØªÙØ§ÙØ§Øª بÙÙ ÙØ°Ù٠اÙÙØ¶Ø¹ÙÙ Ø£Ø«ÙØ§Ø¡ تعÙÙ Ù ÙÙØ®ØµØ§Ø¦Øµ Ø§ÙØ¬Ø¯Ùدة. Ù Ù Ø§ÙØ¬Ùد Ø£ÙÙ ÙØ§ ÙÙØ¬Ø¯ اÙÙØ«Ùر Ù Ù ÙØ°Ù Ø§ÙØ§Ø®ØªÙØ§ÙØ§ØªØ ÙÙÙ ØØ§Ù ÙØ¬ÙØ¯ÙØ§ ÙÙÙ ÙØªØØ³ÙÙ Ø¹Ù Ù Ø§ÙØ´ÙÙØ±Ø© Ø§ÙØ¨Ø±Ù Ø¬ÙØ©. ÙÙÙÙ Ù٠اÙÙÙØª Ø§ÙØØ§Ù٠تÙÙÙ Ù Ø¹Ø±ÙØªÙ Ø¨ÙØ°Ù Ø§ÙØ£Ù ÙØ± Ø§ÙØ¹Ø§Ù Ø©:
- اÙÙ
ÙØ¬Ù
"use strict"ÙØÙ٠اÙÙ ØØ±Ù Ø¥Ù٠اÙÙÙ Ø· Ø§ÙØØ¯ÙØ« (modern)Ø Ù Ù Ø§ ÙØºÙر ٠٠طرÙÙØ© تعا٠Ù٠٠ع بعض Ø§ÙØ®ØµØ§Ø¦Øµ اÙÙ ÙØ¬Ùدة سابÙÙØ§. Ø³ÙØ¯Ø±Ø³ ذÙÙ Ø¨Ø§ÙØªÙصÙÙ ÙÙ Ø§ÙØ£Ø¬Ø²Ø§Ø¡ اÙÙØ§Ø¯Ù Ø© Ù Ù ÙØ°Ù Ø§ÙØ³ÙØ³ÙØ© Ø§ÙØªØ¹ÙÙÙ ÙØ©. - ÙØªÙ
ØªÙØ¹Ù٠اÙÙØ¶Ø¹ Ø§ÙØµØ§Ø±Ù
Ø¨ÙØ¶Ø¹ اÙÙ
ÙØ¬Ù
"use strict"ÙÙ Ø¨Ø¯Ø§ÙØ© Ø§ÙØ³Ùربت Ø£Ù Ø§ÙØ¯Ø§ÙØ©. Ø§ÙØ¹Ø¯Ùد ٠٠خصائص اÙÙØºØ©Ø Ù Ø«Ù Ø§ÙØ£ØµÙا٠(classes) ÙØ§ÙÙØØ¯Ø§Øª (modules)Ø ÙØªÙعÙÙ٠اÙÙØ¶Ø¹ Ø§ÙØµØ§Ø±Ù (strict) تÙÙØ§Ø¦ÙÙØ§. - اÙÙØ¶Ø¹ Ø§ÙØµØ§Ø±Ù (strict) ٠دعÙÙ Ù Ù ÙØ¨Ù Ø¬Ù ÙØ¹ اÙÙ ØªØµÙØØ§Øª Ø§ÙØØ§ÙÙØ©.
- Ø£ÙØµØÙ دائÙ
ÙØ§ Ø¨ÙØ¶Ø¹
"use strict"ÙÙ Ø¨Ø¯Ø§ÙØ© Ø§ÙØ³Ùربت. Ø¬Ù ÙØ¹ Ø§ÙØ£Ù Ø«ÙØ© ÙÙ ÙØ°Ù Ø§ÙØ³ÙØ³ÙØ© Ø§ÙØªØ¹ÙÙÙ ÙØ© ØªÙØªØ±Ø¶ Ø§ÙØ¹Ù ٠ض٠٠اÙÙØ¶Ø¹ Ø§ÙØµØ§Ø±Ù Ø¥ÙØ§ إذا ذÙÙØ± ØºÙØ± ذÙÙ ÙÙØ°Ø§ Ù٠بعض Ø§ÙØØ§ÙØ§Øª اÙÙØ§Ø¯Ø±Ø©.
ترج٠ة -ÙØ¨ØªØµØ±Ù- ÙÙÙØµÙ Modern mode, âuse strictâ Ù Ù ÙØªØ§Ø¨ The JavaScript Language
Ø§ÙØªØ¹ÙÙÙØ§Øª
<code>Ø ÙÙÙÙØ«Ùر Ù Ù Ø§ÙØ³Ø·Ùر استخدÙ<pre>Ø ÙÙØ£Ùثر Ù Ù 10 Ø³Ø·ÙØ± استخد٠(plnkr, JSBin, codepenâ¦)