Ù٠اÙÙ ØªØºÙØ± Ù ÙØ±Ø¦ÙØ
Ø§ÙØ£ÙÙ
ÙØ©: 4
٠اذا سÙÙÙ٠اÙÙØ§ØªØ¬ Ù Ù ÙØ°Ø§ اÙÙÙØ¯Ø
let x = 1;
function func() {
console.log(x); // ?
let x = 2;
}
func();
Ù ÙØÙØ¸Ø©: ÙÙØ§Ù خدعة ÙÙ ÙØ°Ù اÙÙ ÙÙ Ø©. Ø§ÙØÙ ÙÙØ³ ÙØ§Ø¶ØØ§Ù ب٠ا ÙÙ٠اÙÙÙØ§ÙØ©.
اÙÙØ§ØªØ¬: خطأ.
جرب اÙÙÙØ¯ ÙÙØªØ£Ùد:
let x = 1;
function func() {
console.log(x); // ReferenceError: ÙØ§ ÙØ³ØªØ·Ùع اÙÙØµÙÙ ÙÙ 'x' ÙØ¨Ù Ø¥Ø¹Ø·Ø§Ø¦ÙØ§ ÙÙÙ
Ø©
let x = 2;
}
func();
In this example we can observe the peculiar difference between a ânon-existingâ and âuninitializedâ variable.
أ٠بطرÙÙØ© أخرÙ, اÙÙ
ÙØªØºÙر تÙÙÙØ§Ù Ù
ÙØ¬Ùد, ÙÙ٠ا ØªØ³ØªØ·ÙØ¹ اÙÙØµÙÙ ÙÙ ÙØ¨Ù let.
اÙÙÙØ¯ ÙÙ Ø§ÙØ£Ø¹ÙÙ ÙØ¶Ø ذÙÙ.
function func() {
// اÙÙ
ØªØºÙØ± اÙÙ
ØÙÙ X ÙØ¹ØªØ¨Ø± Ù
عرÙÙ ÙÙÙ
ØØ±Ù Ù
Ù Ø§ÙØ¨Ø¯Ø§ÙØ©, ÙÙÙ **ØºÙØ± Ù
عر٠بÙÙÙ
Ø©** ØªØ¸Ù ØØªÙ let
// ÙØ°ÙÙ ÙÙØ§Ù خطأ
console.log(x); // ReferenceError: ÙØ§ ÙØ³ØªØ·Ùع اÙÙØµÙÙ ÙÙ 'x' ÙØ¨Ù Ø¥Ø¹Ø·Ø§Ø¦ÙØ§ ÙÙÙ
Ø©
let x = 2;
}
ÙØ°Ù اÙÙ
ÙØ·ÙØ© Ù
٠اÙÙ
ØªØºÙØ±Ø§Øª اÙÙ
Ø¤ÙØªØ© Ø§ÙØºÙر Ù
ستخدÙ
Ø© Ù
Ù Ø¨Ø¯Ø§ÙØ© اÙÙÙØ¯ ØØªÙ let تسÙ
٠باÙÙ
ÙØ·ÙØ© اÙÙ
ÙØªØ©