Ø¨ÛØ´ØªØ± اÙÙØ§ØªØ Ø¨Ø±ÙØ§Ù ÙâÙØ§Û Ø¬Ø§ÙØ§Ø§Ø³Ú©Ø±Ûپت ÙÛØ§Ø² Ø¯Ø§Ø±ÙØ¯ تا با Ø§Ø·ÙØ§Ø¹Ø§Øª کار Ú©ÙÙØ¯. Ø¨Ø·ÙØ± ÙÙ ÙÙÙ:
- ÛÚ© ÙØ±Ùشگا٠آÙÙØ§ÛÙ â Ø§Ø·Ùاعات ٠٠ک٠است Ø´Ø§Ù Ù ÙØ§ÙØ§ÙØ§ÛÛ Ø´ÙØ¯ Ú©Ù ÙØ±Ùخت٠٠ÛâØ´ÙÙØ¯ ٠در سبد Ø®Ø±ÛØ¯ ÙØ³ØªÙد.
- ÛÚ© ÙØ±Ù âØ§ÙØ²Ø§Ø± ÚØª â Ø§Ø·Ùاعات ٠٠ک٠است Ø´Ø§Ù Ù Ú©Ø§Ø±Ø¨Ø±Ø§ÙØ Ù¾ÛØ§Ù âÙØ§ ٠دÛگر Ù ÙØ§Ø±Ø¯ Ø´ÙØ¯.
Ù ØªØºÛØ±Ùا Ø¨Ø±Ø§Û Ø°Ø®ÛØ±ÙâØ³Ø§Ø²Û Ø§ÛÙ Ø§Ø·ÙØ§Ø¹Ø§Øª Ø§Ø³ØªÙØ§Ø¯Ù Ù ÛâØ´ÙÙØ¯.
Ù ØªØºÛØ±
ÛÚ© Ù ØªØºÛØ± (variable) âØØ§ÙظÙâØ§Û ÙØ§Ù Ú¯Ø°Ø§Ø±Û Ø´Ø¯Ùâ Ø¨Ø±Ø§Û داد٠است. ٠ا Ù ÛâØªÙØ§ÙÛ٠از Ù ØªØºÛØ±Ùا Ø¨Ø±Ø§Û Ø°Ø®ÛØ±Ù Ú©Ø§ÙØ§ÙØ§Ø Ø¨Ø§Ø²Ø¯ÛØ¯ Ú©ÙÙØ¯ÙâÙØ§ ٠دادÙâÙØ§Û دÛگر Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛÙ .
Ø¨Ø±Ø§Û Ø³Ø§Ø®Øª ÛÚ© Ù
ØªØºÛØ± در Ø¬Ø§ÙØ§Ø§Ø³Ú©Ø±Ûپت از let Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛØ¯.
عبارت Ø²ÛØ± ÛÚ© Ù ØªØºÛØ± با ÙØ§Ù âmessageâ Ù ÛâØ³Ø§Ø²Ø¯ (ÛØ§ Ø¨Ù Ø¹Ø¨Ø§Ø±ØªÛ Ø¯Ûگر: تعرÛÙ Ù ÛâÚ©ÙØ¯):
let message;
ØØ§Ùا Ù
ÛâØªÙØ§ÙÛÙ
Ø§Ø·ÙØ§Ø¹Ø§ØªÛ را از طرÛ٠عÙ
Ùگر = در اÛÙ Ù
ØªØºÛØ± ÙØ±Ø§Ø± دÙÛÙ
:
let message;
message = 'Hello'; // Ø°Ø®ÛØ±Ù Ú©Ù message را در Ù
ØªØºÛØ± «Hello» رشتÙ
ØØ§Ù رشتÙâØ§Û Ú©Ù ÙÙØ´ØªÛ٠در Ø¨Ø®Ø´Û Ø§Ø² ØØ§Ùظ٠کا٠پÛÙØªØ± ک٠در Ø§Ø®ØªÛØ§Ø± اÛÙ Ù ØªØºÛØ± Ù ÛâØ¨Ø§Ø´Ø¯ Ø°Ø®ÛØ±Ù شد٠است. ٠ا Ù ÛâØªÙØ§ÙÛ٠با Ø§Ø³ØªÙØ§Ø¯Ù از Ø§Ø³Ù Ù ØªØºÛØ± Ø¨Ù Ø¢Ù Ø¯Ø³ØªØ±Ø³Û Ø¯Ø§Ø´ØªÙ Ø¨Ø§Ø´ÛÙ :
let message;
message = 'Ø³ÙØ§Ù
!';
alert(message); // Ù
ØØªÙØ§Û Ù
ØªØºÛØ± را ÙØ´Ø§Ù Ù
ÛâØ¯ÙØ¯
Ø¨Ø±Ø§Û Ø§Ø®ØªØµØ§Ø± Ù ÛâØªÙØ§ÙÛ٠تعرÛÙ Ù ØªØºÛØ± Ù Ù ÙØ¯Ø§Ø±Ø¯ÙÛ Ø¨Ù Ø¢Ù Ø±Ø§ در ÛÚ© خط ÙØ±Ø§Ø± دÙÛÙ :
let message = 'Hello!'; // Ù
ØªØºÛØ± را تعرÛÙ Ú©Ù Ù Ù
ÙØ¯Ø§Ø±Ø¯ÙÛ Ú©Ù
alert(message); // !Ø³ÙØ§Ù
ÙÙ ÛÙØ·Ùر Ù ÛâØªÙØ§ÙÛÙ ÚÙØ¯ Ù ØªØºÛØ± را در ÛÚ© خط تعرÛÙ Ú©ÙÛÙ :
let user = 'John', age = 25, message = 'Ø³ÙØ§Ù
';
اÛÙ Ù ÙØ±Ø¯ ٠٠ک٠است Ú©ÙØªØ§ÙâØªØ± Ø¨Ù ÙØ¸Ø± Ø¢ÛØ¯Ø ا٠ا آ٠را Ù¾ÛØ´ÙÙØ§Ø¯ ÙÙ ÛâÚ©ÙÛÙ . بخاطر Ø®ÙØ§ÙاÛÛ Ø¨ÙØªØ±Ø ÙØ·Ùا Ø¨Ø±Ø§Û ØªØ¹Ø±ÛÙ ÙØ± Ù ØªØºÛØ± از Ø®Ø·ÙØ· جداگاÙÙ Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛØ¯:
تعرÛ٠کرد٠در ÚÙØ¯ خط Ú©Ù Û Ø·ÙÙØ§ÙÛâØªØ± Ø§Ø³ØªØ Ø§Ù Ø§ Ø¨Ø±Ø§Û Ø®ÙØ§ÙØ¯Ù Ø±Ø§ØØª تر است:
let user = 'John';
let age = 25;
let message = 'Ø³ÙØ§Ù
';
Ø¨Ø¹Ø¶Û Ø§Ø² Ø¨Ø±ÙØ§Ù ÙâÙÙÛØ³Ø§Ù Ù ØªØºÛØ±ÙØ§Û Ù ØªØ¹Ø¯Ø¯ را ب٠اÛÙ ØµÙØ±Øª در ÚÙØ¯ خط Ù ÛâÙÙÛØ³Ùد:
let user = 'John',
age = 25,
message = 'Ø³ÙØ§Ù
';
â¦Ûا ØØªÛ Ø¨Ù ØµÙØ±Øª âcomma-firstâ Ø§ÛÙکار را Ø§ÙØ¬Ø§Ù Ù ÛâØ¯ÙÙØ¯:
let user = 'John'
, age = 25
, message = 'Hello';
از ÙØØ§Ø¸ ÙÙÛØ Ù٠٠اÛÙ ØØ§Ùات ÛÚ© کار را Ø§ÙØ¬Ø§Ù Ù ÛâØ¯ÙÙØ¯. پس Ø§ÙØªØ®Ø§Ø¨ Ø¢ÙâÙØ§ Ø¨Ù Ø³ÙØ§ÛÙ Ù Ø²ÛØ¨Ø§ÛÛ Ø´ÙØ§Ø³Û Ø´Ø®ØµÛ Ù Ø±Ø¨ÙØ· است.
var Ø¨Ø¬Ø§Û letدر اسکرÛپتâÙØ§Û ÙØ¯ÛÙ
Û Ù
Ù
ک٠است Ø¨Ø¬Ø§Û Ú©ÙÛØ¯ÙاÚÙ let با Ú©ÙÛØ¯ÙاÚÙ var Ø¨Ø±Ø®ÙØ±Ø¯ Ú©ÙÛØ¯ :
var message = 'Ø³ÙØ§Ù
';
Ú©ÙÛØ¯ÙاÚÙ var ØªÙØ±Ûبا* با* let Ûکسا٠است. Ø¢Ù ÙÙ
ÛÚ© Ù
ØªØºÛØ± را تعرÛÙ Ù
ÛâÚ©ÙØ¯Ø ÙÙÛ Ø±ÙØ´ کار Ø¢Ù ÙØ¯ÛÙ
Û Ø§Ø³Øª.
ØªÙØ§ÙتâÙØ§Û Ú©ÙÚÚ©Û Ø¨Û٠اÛÙ Ø¯Ù ÙØ¬Ùد دارد ک٠در ØØ§Ù ØØ§Ø¶Ø± ب٠آ٠ÙÙ ÛâپردازÛÙ . در Ù Ø¨ØØ« âÚ©ÙÙ ÙâÛ "var" ÙØ¯ÛÙ Û Ø¨Ø§ جزÛÛØ§Øª Ø¨Ù Ø¢Ù Ø®ÙØ§ÙÛ٠پرداخت.
ÛÚ© Ù ÙØ§ÛسÙâÛ ÙØ§ÙعÛ
Ø¨Ø±Ø§Û Ø¯Ø±Ú© Ù ÙÙÙÙ Ù ØªØºÛØ±Ø Ù ÛâØªÙØ§ÙÛ٠آ٠را ÛÚ© Ø¬Ø¹Ø¨Ù Ø¨Ø±Ø§Û ÙÚ¯ÙØ¯Ø§Ø±Û Ø§Ø·ÙØ§Ø¹Ø§Øª ØªØµÙØ± Ú©ÙÛÙ Ø Ú©Ù ÛÚ© ÙØ§Ù Ù ÙØØµØ±Ø¨ÙâÙØ±Ø¯ رÙÛ Ø¢Ù ÚØ³Ø¨Ø§ÙدÙâØ§ÛÙ .
Ø¨Ø±Ø§Û ÙÙ
ÙÙÙØ ØªØµÙØ± Ú©ÙÛØ¯ Ù
ØªØºÛØ± âmessageâ Ø¯Ø± جعبÙâØ§Û Ø¨Ø§ Ø¨Ø±ÚØ³Ø¨ message ٠با Ù
ÙØ¯Ø§Ø± âØ³ÙØ§Ù
!â Ø¯Ø§Ø®Ù Ø¢Ù ÙØ¬Ùد دارد:
٠ا Ù ÛâØªÙØ§ÙÛÙ ÙØ± Ù ÙØ¯Ø§Ø±Û در Ø¢Ù ÙØ±Ø§Ø± دÙÛÙ .
ÙÙ ÛÙØ·Ùر Ù ÛâØªÙØ§ÙÛÙ ÙØ± ÚÙØ¯ بار Ú©Ù Ø®ÙØ§Ø³ØªÛ٠اÛÙ Ù ÙØ¯Ø§Ø± را تغÛÛØ± دÙÛÙ :
let message;
message = 'Ø³ÙØ§Ù
!';
message = 'World!'; // Ù
ÙØ¯Ø§Ø± تغÛÛØ± کرد
alert(message);
ÙÙØªÛ Ù ÙØ¯Ø§Ø± تغÛÛØ± Ú©Ø±Ø¯Ø Ø§Ø·ÙØ§Ø¹Ø§Øª ÙØ¨ÙÛ Ø§Ø² آ٠پاک Ø®ÙØ§ÙÙØ¯ شد:
٠ا ÙÙ ÛÙØ·Ùر Ù ÛâØªÙØ§ÙÛÙ Ø¯Ù Ù ØªØºÛØ± تعرÛÙ Ú©Ø±Ø¯Ù Ù Ø§Ø·ÙØ§Ø¹Ø§Øª ÛÚ©Û Ø±Ø§ در دÛÚ¯Ø±Û Ú©Ù¾Û Ú©ÙÛÙ .
let hello = 'Ø³ÙØ§Ù
دÙÛØ§!';
let message;
// Ú©Ù¾Û Ú©Ù message در hello Ù
ÙØ¯Ø§Ø± Â«Ø³ÙØ§Ù
دÙÛØ§Â» را از
message = hello;
// ØØ§Ùا ÙØ± د٠Ù
ØªØºÛØ± ÛÚ© Ù
ÙØ¯Ø§Ø± Ø¯Ø§Ø±ÙØ¯
alert(hello); // !Ø³ÙØ§Ù
دÙÛØ§
alert(message); // !Ø³ÙØ§Ù
دÙÛØ§
ÛÚ© Ù ØªØºÛØ± Ø¨Ø§ÛØ¯ ÙÙØ· ÛÚ© بار تعرÛÙ Ø´ÙØ¯.
تعرÛÙ Ø¯ÙØ¨Ø§Ø±Ù ÛÚ© Ù ØªØºÛØ± سبب Ø§ÛØ¬Ø§Ø¯ Ø§Ø±ÙØ± Ù ÛâØ´ÙØ¯:
let message = "اÛÙ";
// Ù
ÙØ¬Ø± ب٠خطا Ù
ÛâØ´ÙØ¯ `let` تکرار کردÙ
let message = "Ø¢Ù"; // SyntaxError: Identifier 'message' has already been declared
Ø¨ÙØ§Ø¨Ø±Ø§ÛÙØ Ù
ا Ø¨Ø§ÛØ¯ Ù
ØªØºÛØ± را ÛÚ© بار تعرÛÙ Ú©ÙÛÙ
٠سپس بدÙÙ let Ø¨Ù Ø¢Ù Ø±Ø¬ÙØ¹ Ú©ÙÛÙ
.
Ø¬Ø§ÙØ¨ است بداÙÛØ¯ زباÙâÙØ§Û ت٠ا٠functional (ت٠ا٠تابعâÙ ØÙر) ٠اÙÙØ¯ Haskell ÙØ¬Ùد Ø¯Ø§Ø±ÙØ¯ ک٠تغÛÛØ± Ù ÙØ¯Ø§Ø± Ù ØªØºÛØ± را Ù Ù ÙÙØ¹ کرد٠است.
در اÛÙ ÙÙØ¹ زباÙâÙØ§Ø ÛÚ© بار Ú©Ù Ù ÙØ¯Ø§Ø±Û را âØ¯Ø± جعبÙâ ÙØ±Ø§Ø± Ù ÛâØ¯ÙÛÙ Ø ØªØ§ ابد Ø¢ÙØ¬Ø§ Ù ÛâÙ Ø§ÙØ¯. اگر Ø¨Ø®ÙØ§ÙÛÙ Ù ÙØ¯Ø§Ø±Û دÛگر را Ø°Ø®ÛØ±Ù Ú©ÙÛÙ Ø Ø²Ø¨Ø§Ù Ù Ø§ را Ù Ø¬Ø¨ÙØ± Ù ÛâÚ©ÙØ¯ تا جعبÙâØ§Û Ø¬Ø¯ÛØ¯ بسازÛÙ (Ù ØªØºÛØ± Ø¬Ø¯ÛØ¯Û تعرÛÙ Ú©ÙÛÙ ). ÙÙ ÛâØªÙØ§ÙÛ٠از Ù ØªØºÛØ± ÙØ¯ÛÙ Û Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛÙ .
اگرÚ٠در Ùگا٠اÙ٠اÛ٠زباÙâÙØ§ Ø¹Ø¬ÛØ¨ Ø¨Ù ÙØ¸Ø± Ù ÛâØ±Ø³ÙØ¯Ø ÙÙÛ Ú©Ø§Ù ÙØ§ ØªÙØ§ÙاÛÛ ØªÙØ³Ø¹Ù پرÙÚÙâÙØ§Û Ø¬Ø¯Û Ø±Ø§ Ø¯Ø§Ø±ÙØ¯. Ù ÙÙ âØªØ± از Ø¢ÙØ در ز٠ÛÙÙâÙØ§ÛÛ Ù Ø§ÙÙØ¯ Ù ØØ§Ø³Ø¨Ø§Øª Ù ÙØ§Ø²Û (Parallel Computation) اÛÙ Ù ØØ¯ÙØ¯ÛØªâÙØ§ تبدÛÙ Ø¨Ù Ù Ø²ÛØª Ù ÛâØ´ÙÙØ¯.```
ÙØ§Ù âÚ¯Ø°Ø§Ø±Û Ù ØªØºÛØ±Ùا
Ø¯Ù Ù ØØ¯ÙØ¯ÛØª Ø¨Ø±Ø§Û ÙØ§Ù âÚ¯Ø°Ø§Ø±Û Ù ØªØºÛØ±Ùا در Ø¬Ø§ÙØ§Ø§Ø³Ú©Ø±Ûپت ÙØ¬Ùد دارد:
- ÙØ§Ù
Ø¨Ø§ÛØ¯ ÙÙØ· از ØØ±ÙÙØ اعداد ÛØ§ Ø¹ÙØ§Ù
ت
$Ù_تشکÛ٠شد٠باشد. - اÙÙÛ٠کاراکتر ÙÙ ÛâØªÙØ§Ùد عدد باشد.
٠ثاÙâÙØ§ÛÛ Ø§Ø² ÙØ§Ù âÙØ§Û ÙØ§Ø¨Ù ÙØ¨ÙÙ:
let userName;
let test123;
زÙ
اÙÛâ Ú©Ù ÛÚ© ÙØ§Ù
Ù
تشک٠از ÚÙØ¯ Ú©ÙÙ
Ù Ø§Ø³ØªØ Ø¹Ù
ÙÙ
ا از Ø±ÙØ´ camelCase Ø§Ø³ØªÙØ§Ø¯Ù Ù
ÛâØ´ÙØ¯. ب٠اÛÙ ØµÙØ±Øª Ú©Ù Ú©ÙÙ
ات ÛÚ©Û Ù¾Ø³ از دÛÚ¯Ø±Û Ù¾Ø´Øª ÙÙ
ÙÙØ´ØªÙ Ù
ÛâØ´ÙÙØ¯ Ù ØØ±Ù اÙÙ ÙØ± Ú©ÙÙ
Ù (ب٠جز ØØ±Ù اÙÙ Ú©ÙÙ
٠اÙÙ) Ø¨Ù ØØ±Ù بزرگ است: myVeryLongName.
ÙÙ
ÛÙØ·Ùر از '$' Ù '_' ÙÛØ² Ù
ÛâØªÙØ§Ù Ø§Ø³ØªÙØ§Ø¯Ù کرد. Ø¢ÙÙØ§ ÙÙØ· Ø¹ÙØ§Ù
ت ÙØ³ØªÙد Ù Ù
عÙÛ Ø®Ø§ØµÛ ÙØ¯Ø§Ø±Ùد Ù ÙÙ
اÙÙØ¯ ØØ±ÙÙ ÙØ§Ø¨Ù Ø§Ø³ØªÙØ§Ø¯Ù ÙØ³ØªÙد.
اÛÙ ÙØ§Ù âÙØ§ ٠عتبر ÙØ³ØªÙد :
let $ = 1; // ÛÚ© Ù
ØªØºÛØ± را با ÙØ§Ù
"$" تعرÛ٠کردÛÙ
let _ = 2; // Ù ØØ§Ùا ÛÚ© Ù
ØªØºÛØ± با ÙØ§Ù
"_" تعرÛ٠کردÛÙ
alert($ + _); // 3
٠ثاÙâÙØ§ÛÛ Ø§Ø² ÙØ§Ù âÙØ§Û ÙØ§Ù عتبر:
let 1a; // ÙÙ
ÛâØªÙØ§Ùد با ÛÚ© عدد Ø´Ø±ÙØ¹ Ø´ÙØ¯
let my-name; // خطâÙØ§Û Ù¾ÛÙÙØ¯ '-' در ÙØ§Ù
âÙØ§ Ù
Ù
ÙÙØ¹ ÙØ³ØªÙد
Ù ØªØºÛØ±ÙØ§Û apple Ù Apple Ø¯Ù Ù ØªØºÛØ± Ù ØªÙØ§Ùت ÙØ³ØªÙد.
Ø§Ù Ú©Ø§Ù Ø§Ø³ØªÙØ§Ø¯Ù از ÙØ± زباÙÛØ Ø´Ø§Ù Ù ØØ±ÙÙ cyrillicØ ÙÙÚ¯Ùگرا٠âÙØ§Û ÚÛÙÛ Ù Ø¯Ûگر زباÙâÙØ§ ÙØ¬Ùد Ø¯Ø§Ø±Ø¯Ø Ù Ø«ÙØ§ اÛÙÚ¯ÙÙÙ::
let Ð¸Ð¼Ñ = '...';
let æ = '...';
از ÙØ¸Ø± ÙÙÛØ اÛÙâÙØ§ درست کار Ù ÛâÚ©ÙÙØ¯ ٠٠جاز ÙØ³ØªÙØ¯Ø ÙÙÛ Ø¨Ø± اساس ÛÚ© ÙØ§Ø¦Ø¯Ù بÛÙâØ§ÙÙ ÙÙÛ Ø¨Ø±Ø§Û ÙØ§Ù Ù ØªØºÛØ±Ùا از زبا٠اÙÚ¯ÙÛØ³Û Ø§Ø³ØªÙØ§Ø¯Ù Ù ÛâØ´ÙØ¯. ØØªÛ اگر اسکرÛÙ¾ØªÛ Ú©ÙÚÚ© Ù ÛâÙÙÛØ³ÛÙ Ø Ù Ù Ú©Ù Ø§Ø³Øª تا ٠دت Ø·ÙÙØ§ÙÛâØ§Û Ù ÙØ±Ø¯ Ø§Ø³ØªÙØ§Ø¯Ù Ù ØªÙØ³Ø¹Ù ÙØ±Ø§Ø± Ø¨Ú¯ÛØ±Ø¯. Ø§Ø´Ø®Ø§ØµÛ Ø§Ø² Ø³Ø§ÛØ± Ú©Ø´ÙØ±Ùا ٠٠ک٠است ÙÛØ§Ø² باشد Ø±ÙØ²Û آ٠اسکرÛپت را Ø¨Ø®ÙØ§ÙÙØ¯.
ØªØ¹Ø¯Ø§Ø¯Û ÙØ§Ù Ø±Ø²Ø±Ù Ø´Ø¯Ù ÙØ¬Ùد دارد Ú©Ù ÙÙ ÛâØªÙØ§Ù از Ø¢ÙÙØ§ Ø¨Ø±Ø§Û ÙØ§Ù Ù ØªØºÛØ±Ùا Ø§Ø³ØªÙØ§Ø¯Ù ÙÙ ÙØ¯ ÚØ±Ø§Ú©Ù Ø¢ÙÙØ§ ØªÙØ³Ø· Ø®ÙØ¯Ù Ø²Ø¨Ø§Ù Ø¬Ø§ÙØ§Ø§Ø³Ú©Ø±Ûپت Ø§Ø³ØªÙØ§Ø¯Ù شدÙâØ§ÙØ¯.
Ø¨Ø±Ø§Û ÙÙ
ÙÙÙ letØ classØ return Ù function رزر٠شدÙâØ§ÙØ¯.
کد پاÛÛÙ ÛÚ© Syntax error Ø®ÙØ§Ùد داشت:
let let = 5; // !ÙØ§Ù
ÛØ¯ "let" ÙÙ
ÛâØªÙØ§Ù ÛÚ© Ù
ØªØºÛØ± را
let return = 5; // !ÙØ§Ù
ÛØ¯ "return" ÙÙ
ÚÙÛÙ ÙÙ
ÛâØªÙØ§Ù آ٠را
use strictÙ
عÙ
ÙÙØ§Ø Ù
ا ÙÛØ§Ø² دارÛÙ
ÙØ¨Ù از اÛÙÚ©Ù ÛÚ© Ù
ØªØºÛØ± را Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛÙ
آ٠را تعرÛÙ Ú©ÙÛÙ
. در گذشت٠اÛ٠اÙ
Ú©Ø§Ù ÙØ¬Ùد داشت تا Ù
ØªØºÛØ±Û را بدÙÙ Ø§Ø³ØªÙØ§Ø¯Ù از let Ù ØµØ±ÙØ§ با Ù
ÙØ¯Ø§Ø±Ø¯ÙÛ ØªØ¹Ø±ÛÙ ÙÙ
ÙØ¯. Ø¯Ø±ØµÙØ±ØªÛâ ک٠از use strict Ø¨Ø±Ø§Û ØÙظ Ø³Ø§Ø²Ú¯Ø§Ø±Û Ø¨Ø§ اسکرÛپتâÙØ§Û ÙØ¯ÛÙ
Û Ø§Ø³ØªÙØ§Ø¯Ù ÙÚ©ÙÛÙ
Ø Ø§Û٠اÙ
کا٠ÙÙ
ÚÙØ§Ù ÙØ¬Ùد دارد.
// در اÛÙ Ù
ثا٠ÙÛØ³Øª "use strict" :در ÙØ¸Ø± Ø¯Ø§Ø´ØªÙ Ø¨Ø§Ø´ÛØ¯
num = 5; // ساخت٠شد٠است ØØªÛ اگر ÙØ¨Ùا ÙØ¬Ùد ÙØ¯Ø§Ø´Øª "num" Ù
ØªØºÛØ±
alert(num); // 5
اÛÙ Ø±ÙØ´ Ù ÙØ§Ø³Ø¨ ÙÛØ³Øª ٠در ØµÙØ±Øª ÙØ¬Ùد use strict با خطا Ù ÙØ§Ø¬Ù Ø®ÙØ§Ùد شد :
"use strict";
num = 5; // Error: num is not defined
//
ثابتâÙØ§
Ø¨Ø±Ø§Û ØªØ¹Ø±Û٠ثابت (Ù
ØªØºÛØ±Û Ú©Ù ØªØºÛØ± ÙÙ
ÛâÚ©ÙØ¯) از const Ø¨Ø¬Ø§Û let Ø§Ø³ØªÙØ§Ø¯Ù Ù
ÛâÚ©ÙÛÙ
:
const myBirthday = '18.04.1982';
Ù ØªØºÛØ±ÙاÛÛ Ú©Ù Ø¨Ø§ const ساخت٠٠ÛâØ´ÙØ¯ را ثابت (constant) Ù ÛâÚ¯ÙÛÛÙ . Ø¢ÙÙØ§ ÙØ§Ø¨Ù تغÛÛØ± ÙÛØ³ØªÙد Ù ØªÙØ§Ø´ Ø¨Ø±Ø§Û Ø§ÛÙکار با خطا Ø±ÙØ¨Ø±Ù Ø®ÙØ§Ùد شد :
const myBirthday = '18.04.1982';
myBirthday = '01.01.2001'; // !Ø§Ø±ÙØ±Ø ÙÙ
ÛâØªÙØ§Ù ثابت را Ø¯ÙØ¨Ø§Ø±Ù Ù
ÙØ¯Ø§Ø±Ø¯ÙÛ Ú©Ø±Ø¯
ÙÙØªÛ Ø¨Ø±ÙØ§Ù ÙââÙÙÛØ³ اط٠ÛÙØ§Ù دارد Ú©Ù Ù ØªØºÛØ±Û ÙÛÚگا٠تغÛÛØ± ÙÙ ÛâÚ©ÙØ¯ Ù ÛâØªÙØ§Ùد آ٠را ب٠عÙÙØ§Ù const تعرÛÙ Ú©ÙØ¯ تا Ø¨Ø±Ø§Û Ø¯Ûگرا٠ÙÛØ² اÛÙ Ù ÙØ¶Ùع ÙØ§Ø¶Ø باشد.
ثابتâÙØ§Û با ØØ±Ù٠بزرگ
Ø¨Ù ØµÙØ±Øª ÛÚ© Ø¹ÙØ±ÙÙ ÙÙ ÙâÚ¯ÛØ±Ø از ثابتâÙØ§Û با ØØ±Ù٠بزرگ ب٠عÙÙØ§Ù ÙØ§Ù ٠ستعار Ø¨Ø±Ø§Û Ù ÙØ§Ø¯ÛØ±Û Ú©Ù Ø¨Ù Ø®Ø§Ø·Ø± سپرد٠آÙÙØ§ Ø¯Ø´ÙØ§Ø± Ø§Ø³ØªØ Ø§Ø³ØªÙØ§Ø¯Ù Ù ÛâØ´ÙØ¯. اÛ٠دست٠از ثابتâÙØ§ Ø§ØµØ·ÙØ§ØØ§ prior to execution (Ù¾ÛØ´ از Ø§Ø¬Ø±Ø§Û Ø¨Ø±ÙØ§Ù Ù) Ù ÙØ¯Ø§Ø±Ø´Ø§Ù ٠شخص است.
در ثابتâÙØ§ از ØØ±Ù٠بزرگ Ù _ Ø§Ø³ØªÙØ§Ø¯Ù Ù ÛâØ´ÙØ¯:
Ø¨Ø±Ø§Û Ù Ø«Ø§ÙØ Ø¨ÛØ§ÛÛØ¯ ثابتâÙØ§ÛÛ Ø¨Ø±Ø§Û Ø±ÙÚ¯âÙØ§ در ÙØ§Ùب Ø¨Ù Ø§ØµØ·ÙØ§Ø âÙØ¨â (ÙگزادسÛ٠اÙ) بسازÛÙ :
const COLOR_RED = "#F00";
const COLOR_GREEN = "#0F0";
const COLOR_BLUE = "#00F";
const COLOR_ORANGE = "#FF7F00";
// ...زÙ
اÙÛ Ú©Ù ÙÛØ§Ø² داشت٠باشÛÙ
رÙÚ¯ Ø§ÙØªØ®Ø§Ø¨ Ú©ÙÛÙ
let color = COLOR_ORANGE;
alert(color); // #FF7F00
Ù Ø²Ø§ÛØ§ :
COLOR_ORANGEØ¨Ø³ÛØ§Ø± Ø±Ø§ØØªâتر از"#FF7F00"Ø¨Ù ÛØ§Ø¯ Ù ÛâÙ Ø§ÙØ¯.- اشتبا٠در ÙÙØ´ØªÙ
"#FF7F00"Ø¨Ø³ÛØ§Ø± Ù ØØªÙ ÙâØªØ± ازCOLOR_ORANGEاست. - در ÙÙگاÙ
Ø®ÙØ§ÙØ¯Ù Ú©Ø¯Ø Ø®ÙØ§ÙدÙ
COLOR_ORANGEØ¨Ø³ÛØ§Ø± Ù Ø¹ÙØ§Ø¯Ø§Ø±ØªØ± از#FF7F00است.
Ú٠ز٠اÙÛ Ø¨Ø§ÛØ¯ از ØØ±Ù٠بزرگ Ù Ú٠ز٠اÙÛ Ø¨Ø§ÛØ¯ از ØØ±Ù٠٠ع٠ÙÙÛ Ø¨Ø±Ø§Û ÙØ§Ù âÚ¯Ø°Ø§Ø±Û ÛÚ© constant Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛÙ Ø Ø¨ÛØ§ÛÛØ¯ ÙØ¶Û٠را Ø±ÙØ´Ù Ú©ÙÛÙ .
ثابت Ø¨ÙØ¯Ù ÛÚ© Ù ØªØºÛØ± ØµØ±ÙØ§ بدÛÙ Ù Ø¹ÙØ§Ø³Øª Ú©Ù Ù ÙØ¯Ø§Ø± آ٠تغÛÛØ± ÙØ®ÙØ§ÙØ¯ کرد. ÛÚ© دست٠از ثابتâÙØ§ Ù¾ÛØ´ از Ø§Ø¬Ø±Ø§Û Ø¨Ø±ÙØ§Ù Ù Ù ÙØ¯Ø§Ø±Ø´Ø§Ù ٠شخص Ø®ÙØ§Ùد Ø¨ÙØ¯ (٠ث٠ÙگزادسÛÙ Ø§Ù Ø¨Ø±Ø§Û Ø±ÙÚ¯ ÙØ±Ù ز) ٠دست٠دÛگر در ØÛÙ Ø§Ø¬Ø±Ø§Û (Run Time) Ø¨Ø±ÙØ§Ù Ù Ù ÙØ¯Ø§Ø±Ø´Ø§Ù ٠شخص Ù ÛâØ´ÙØ¯Ø ا٠ا پس از Ù ÙØ¯Ø§Ø± دÙÛ Ø§ÙÙÛÙ Ù ÙØ¯Ø§Ø±Ø´Ø§Ù تغÛÛØ± ÙÙ ÛâÚ©ÙØ¯.
Ø¨Ø±Ø§Û ÙÙ ÙÙÙ:
const pageLoadTime = /* زÙ
Ø§Ù Ø¨Ø§Ø±Ú¯ÛØ±Û Ø¨Ø±Ø§Û ÛÚ© ØµÙØÙ ÙØ¨ */;
Ù
ÙØ¯Ø§Ø± pageLoadTime Ù¾ÛØ´ از Ø§Ø¬Ø±Ø§Û Ø¨Ø±ÙØ§Ù
Ù Ù
شخص ÙØ¨Ùد٠٠ب٠ÙÙ
Û٠دÙÛÙ Ø¨Ù ØµÙØ±Øª Ø¹Ø§Ø¯Û ÙÙØ´ØªÙ شد٠است. اÙ
ا ÙÙ
ÚÙØ§Ù ÛÚ© ثابت است ÚØ±Ø§Ú©Ù زÙ
Ø§Ù Ø§Ø¬Ø±Ø§Û Ø¨Ø±ÙØ§Ù
٠بعد از Ù
ÙØ¯Ø§Ø±Ø¯ÙÛ Ø¯Ûگر تغÛÛØ± ÙØ®ÙØ§ÙØ¯ کرد.
Ø¨Ù ØªØ¹Ø¨ÛØ±Û دÛÚ¯Ø±Ø Ø«Ø§Ø¨ØªâÙØ§Û با ØØ±Ù٠بزرگ ÙÙØ· ب٠عÙÙØ§Ù ÙØ§Ù ٠ستعار Ø¨Ø±Ø§Û Ù ÙØ¯Ø§Ø±ÙØ§Û Â«hard-coded» Ø§Ø³ØªÙØ§Ø¯Ù Ù ÛâØ´ÙÙØ¯.
ÙØ§Ù âÙØ§Û Ù ÙØ§Ø³Ø¨ Ø§ÙØªØ®Ø§Ø¨ Ú©ÙÛØ¯
ÛÚ© ÙÚ©ØªÙ Ø¨Ø³ÛØ§Ø± پر اÙÙ ÛØª دÛگر Ø¯Ø±Ø¨Ø§Ø±Ù Ù ØªØºÛØ±Ùا ÙØ¬Ùد دارد.
ÙØ§Ù ÛÚ© Ù ØªØºÛØ± Ø¨Ø§ÛØ¯ ٠عÙÛ ÙØ§Ø¶Ø Ù Ø±ÙØ´ÙÛ Ø¯Ø§Ø´ØªÙ Ø¨Ø§Ø´Ø¯ ک٠داد٠درÙÙ Ø®ÙØ¯ را ØªÙØµÛÙ Ù ÛâÚ©ÙØ¯.
Ø§ÙØªØ®Ø§Ø¨ ÙØ§Ù Ø¨Ø±Ø§Û Ù ØªØºÛØ±Ùا ÛÚ©Û Ø§Ø² Ú©Ø§Ø±ÙØ§Û Ù ÙÙ Ù Ù¾ÛÚÛØ¯Ù در Ø¨Ø±ÙØ§Ù ÙâÙÙÛØ³Û است. ÛÚ© ÙÚ¯Ø§Ù Ø³Ø±ÛØ¹ Ø¨Ù ÙØ§Ù Ù ØªØºÛØ±Ùا Ù ÛâØªÙØ§Ùد ØªÙØ§Ùت ÛÚ© Ø¨Ø±ÙØ§Ù ÙâÙÙÛØ³ تازÙâکار ٠با تجرب٠را ÙØ´Ø§Ù Ø¯ÙØ¯.
در پرÙÚÙâÙØ§Û ÙØ§ÙØ¹ÛØ Ø¨Ø¬Ø§Û Ø§Ø² ØµÙØ± ÙÙØ´ØªÙ Ø¨Ø±ÙØ§Ù ÙâÙØ§Ø Ø¨ÛØ´ØªØ± Ø²Ù Ø§Ù ØµØ±Ù Ø§ØµÙØ§Ø Ù ØªÙØ³Ø¹Ù Ú©Ø¯ÙØ§Û Ù ÙØ¬Ùد Ù ÛâØ´ÙØ¯. ÙÙØªÛ پس از Ù Ø¯ØªÛ Ø¨Ù Ú©Ø¯ÙØ§Û ÙØ¨ÙÛ Ø¨Ø§Ø² Ù ÛâگردÛÙ Ø Ø¨Ø¯Ø³Øª Ø¢ÙØ±Ø¯Ù Ø§Ø·ÙØ§Ø¹Ø§Øª از Ø¢Ù Ø¯Ø³ØªÙ Ú©Ø¯ÙØ§ÛÛ Ú©Ù ÙØ§Ù âگذارÛâÙØ§Û Ø®ÙØ¨Û Ø¯Ø§Ø±ÙØ¯ Ø¨Ø³ÛØ§Ø± Ø±Ø§ØØªâتر است (Ù ÙØ¸Ùر Ù ØªØºÛØ±ÙاÛÛ Ø§Ø³Øª Ú©Ù ÙØ§Ù âÙØ§Û Ø®ÙØ¨Û Ø¯Ø§Ø±ÙØ¯).
ÙØ·Ùا Ù¾ÛØ´ از Ø§ÙØªØ®Ø§Ø¨ ÙØ§Ù Ø¨Ø±Ø§Û ÛÚ© Ù ØªØºÛØ±Ø Ø®ÙØ¨ ب٠آ٠Ùکر Ú©ÙÛØ¯. ث٠رÙâÛ Ø¢Ù Ø±Ø§ Ø®ÙØ§ÙÛØ¯ Ø¯ÛØ¯.
Ø¨Ø¹Ø¶Û Ø§Ø² Ø¯Ø³ØªÙØ±Ø§Ùع٠ÙâÙØ§Û Ù ÙÛØ¯:
- از ÙØ§Ù
âÙØ§ÛÛ Ú©Ù Ø¨Ø±Ø§Û Ø§ÙØ³Ø§Ù ÙØ§Ø¨Ù ÙÙÙ
است Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛØ¯ Ù
اÙÙØ¯
userNameÛØ§shoppingCart. - از ÙØ§Ù
âÙØ§Û Ù
Ø®ÙÙ ÛØ§ Ú©ÙØªØ§Ù Ø§Ø³ØªÙØ§Ø¯Ù ÙÚ©ÙÛØ¯ Ù
اÙÙØ¯
aØbØcØ Ù Ú¯Ø± Ø¢ÙÚ©Ù ÙØ§Ùعا بداÙÛØ¯ ÚÙ Ù ÛâÚ©ÙÛØ¯. - ÙØ§Ù
âÙØ§Û کاÙ
ÙØ§ ÙØ§Ø¶Ø Ù Ù
ختصر Ø§ÙØªØ®Ø§Ø¨ Ú©ÙÛØ¯. ÙÙ
ÙÙÙâÙØ§ÛÛ Ø§Ø² ÙØ§Ù
âÙØ§Û بد
dataÙvalueÙØ³ØªÙد. اÛÙ ÙØ§Ù âÙØ§ ÙÛÚâÚÛØ² را ØªÙØ¶ÛØ ÙÙ ÛâØ¯ÙÙØ¯. Ø§Ø³ØªÙØ§Ø¯Ù از اÛ٠دست ÙØ§Ù âÙØ§ ÙÙØ· ز٠اÙÛ ÙØ§Ø¨Ù ÙØ¨Ù٠است Ú©Ù Ù ØØªÙØ§Û Ú©Ø¯Û Ú©Ù Ù ÛâÙÙÛØ³Ûد Ø¨Ù Ø·ÙØ± Ø§Ø³ØªØ«ÙØ§ ٠شخص Ú©ÙØ¯ Ú©Ù data ÛØ§ value ب٠ÚÙ ÚÛØ²Û اشار٠٠ÛâÚ©ÙØ¯. - با ذÙÙ Ø®ÙØ¯ ٠تÛÙ
Ú©Ø§Ø±ÛØªØ§Ù ØªÙØ§ÙÙ ÙØ¸Ø± Ø¯Ø§Ø´ØªÙ Ø¨Ø§Ø´ÛØ¯. اگر ب٠Ù
Ø®Ø§Ø·Ø¨Ø§Ù ÙØ¨âØ³Ø§ÛØªâتا٠user Ù
ÛâÚ¯ÙÛÛØ¯Ø Ù
ØªØºÛØ±ÙØ§Û Ù
رتبط را بجاÛ
currentVisitorÛØ§newManInTownØ¨Ø§ÛØ¯currentUserÛØ§newUserØ¨ÙØ§Ù ÛØ¯.
٠آخرÛÙ ÙکتÙ: Ø¨Ø±Ø®Û Ø¨Ø±ÙØ§Ù ÙâÙÙÛØ³Ø§Ù ØªÙØ¨Ù Ø¨Ø¬Ø§Û ØªØ¹Ø±ÛÙ Ù ØªØºÛØ±ÙØ§Û Ø¬Ø¯ÛØ¯Ø از Ù ØªØºÛØ±ÙØ§Û Ù ÙØ¬Ùد Ø¯ÙØ¨Ø§Ø±Ù Ø§Ø³ØªÙØ§Ø¯Ù Ù ÛâÚ©ÙÙØ¯.
در ÙØªÛØ¬Ù Ù ØªØºÛØ±ÙØ§Û Ø¢ÙâÙØ§ ٠اÙÙØ¯ جعبÙâØ§ÛØ³Øª Ú©Ù Ø§ÙØ±Ø§Ø¯ Ù ØªÙØ§Ùت ÚÛØ²ÙØ§Û Ù Ø®ØªÙÙÛ Ø¯Ø±ÙÙ Ø¢Ù Ø±ÛØ®ØªÙâØ§ÙØ¯ در ØØ§ÙÛ Ú©Ù ÙØ§Ù رÙÛ Ø¨Ø±ÚØ³Ø¨ آ٠را تغÛÛØ± ÙØ¯Ø§Ø¯ÙâØ§ÙØ¯.
اÛ٠دست٠از Ø¨Ø±ÙØ§Ù ÙâÙÙÛØ³Ø§Ù Ù ÙØ¯Ø§Ø± Ú©Ù Û Ø¯Ø± تعرÛÙ Ù ØªØºÛØ± صرÙÙâØ¬ÙÛÛ Ù ÛâÚ©ÙÙØ¯ ا٠ا د٠برابر Ø¨ÛØ´ØªØ± را در Ø±ÙØ¹ Ø®Ø·Ø§ÙØ§ از دست Ù ÛâØ¯ÙÙØ¯.
ÛÚ© Ù ØªØºÛØ± اضاÙÛ Ø®ÙØ¨ Ø§Ø³ØªØ Ù٠٠ضر.
بÙÛÙÙâØ³Ø§Ø²ÛâÙØ§ÛÛ Ú©Ù Ø¯Ø± Ù Ø±ÙØ±Ú¯Ø±ÙØ§Û Ø§Ù Ø±ÙØ²Û Ù ÙÙ ÛÙØ·Ùر Ú©Ù âØØ¬Ù âÚ©ÙÙØ¯ÙâÙØ§Û Ø¬Ø§ÙØ§Ø§Ø³Ú©Ø±Ûپت ØµÙØ±Øª Ù ÛâÚ¯ÛØ±Ø¯Ø در Ø¨Ù ÙØ¬Ùد ÙÛØ§Ù Ø¯Ù Ù Ø´Ú©ÙØ§Øª ع٠ÙÚ©Ø±Ø¯Û (Performance) Ø¨Ø±ÙØ§Ù ÙâÙØ§Û ٠ا Ú©Ù Ú© Ù ÛâÚ©ÙÙØ¯. ØØªÛ Ø§Ø³ØªÙØ§Ø¯Ù از Ù ØªØºÛØ±ÙØ§Û Ù Ø®ØªÙÙ Ø¨Ø±Ø§Û Ù ÙØ§Ø¯Ûر ٠ختÙÙ Ø¨Ù Ù ÙØªÙر Ø¬Ø§ÙØ§Ø§Ø³Ú©Ø±Ûپت Ú©Ù Ú© Ù ÛâÚ©ÙØ¯ تا کد ش٠ا را بÙÛÙÙ Ú©ÙØ¯.
Ø®ÙØ§ØµÙ
Ù
ا Ù
ÛâØªÙØ§ÙÛÙ
با Ø§Ø³ØªÙØ§Ø¯Ù از Ú©ÙÛØ¯ÙاÚÙâÙØ§Û varØ let ÛØ§ const Ù
ØªØºÛØ±ÙاÛÛ Ø±Ø§ Ø¨Ø±Ø§Û Ø°Ø®ÛØ±Ù Ø³Ø§Ø²Û Ø§Ø·ÙØ§Ø¹Ø§Øª تعرÛÙ Ú©ÙÛÙ
.
letâ ØØ§ÙØª Ø¬Ø¯ÛØ¯ تعرÛÙ Ù ØªØºÛØ± است.varâ ØØ§ÙØª ÙØ¯ÛÙ Û ØªØ¹Ø±ÛÙ Ù ØªØºÛØ± Ù ÛâØ¨Ø§Ø´Ø¯. ٠ع٠ÙÙØ§ ب٠ÙÛÚ ÙØ¬Ù از اÛÙ Ø±ÙØ´ Ø§Ø³ØªÙØ§Ø¯Ù ÙÙ ÛâÚ©ÙÛÙ Ø Ø§Ù Ø§ ØªÙØ§ÙتâÙØ§Û آ٠را در بخش âÚ©ÙÙ ÙâÛ "var" ÙØ¯ÛÙ Û Ø¨ÛØ§Ù Ø®ÙØ§ÙÛ٠کرد تا در ØµÙØ±Øª ÙÛØ§Ø² Ø¨ØªÙØ§ÙÛØ¯ از Ø¢Ù Ø§Ø³ØªÙØ§Ø¯Ù Ù٠اÛÛØ¯.constâ Ù٠اÙÙØ¯letاست با اÛÙ ØªÙØ§Ùت Ú©Ù Ù ÙØ¯Ø§Ø± Ø¢Ù ÙØ§Ø¨Ù تغÛÛØ± ÙÛØ³Øª.
ÙØ§Ù Ù ØªØºÛØ±Ùا Ø¨Ø§ÛØ¯ ب٠گÙÙÙâØ§Û Ø¨Ø§Ø´Ø¯ ک٠ب٠٠ا Ø§Ø¬Ø§Ø²Ù Ø¯ÙØ¯ Ø¨Ù Ø±Ø§ØØªÛ Ù ØªÙØ¬Ù Ø´ÙÛÙ ÚÙ ÚÛØ²Û درÙ٠آ٠است.
ÙØ¸Ø±Ø§Øª
<code>Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛØ¯Ø Ø¨Ø±Ø§Û ÚÙØ¯Û٠خط â کد را درÙ٠تگ<pre>ÙØ±Ø§Ø± دÙÛØ¯Ø Ø¨Ø±Ø§Û Ø¨ÛØ´ از د٠خط کد â Ø§Ø² ÛÚ© جعبÙÙ Ø´ÙÛ Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛØ¯. (plnkrØ jsbinØ codepenâ¦)