$lang['tuto'] = "سبق"; ?>$lang['tuto'] = "سبق"; ?> جاوا اسکرپٹ میں let اور var کے

جاوا اسکرپٹ میں "let" اور "var" کے درمیان فرق کو سمجھنا

جاوا اسکرپٹ میں let اور var کے درمیان فرق کو سمجھنا
جاوا اسکرپٹ میں let اور var کے درمیان فرق کو سمجھنا

جاوا اسکرپٹ میں متغیر اعلانات کو سمجھنا

JavaScript کی دنیا میں، let اور var کے درمیان فرق کو سمجھنا صاف اور موثر کوڈ لکھنے کے لیے بہت ضروری ہے۔ ECMAScript 6 میں متعارف کرائے گئے، let بیان نے متغیر اعلان میں ایک نئی جہت کا اضافہ کیا ہے، جسے اکثر متغیر کے دائرہ کار پر زیادہ کنٹرول فراہم کرنے کے طور پر بیان کیا جاتا ہے۔

جبکہ دونوں دو اور var متغیرات کا اعلان کرنے کے لیے استعمال کیا جاتا ہے، وہ مختلف طرز عمل کی نمائش کرتے ہیں جو آپ کے کوڈ کو نمایاں طور پر متاثر کر سکتے ہیں۔ اس مضمون میں، ہم ان اختلافات کو دریافت کریں گے اور استعمال کرنے کے بارے میں رہنمائی فراہم کریں گے۔ دو کے بجائے var.

کمانڈ تفصیل
var ایک متغیر کا اعلان کرتا ہے، اختیاری طور پر اسے ایک قدر سے شروع کرتا ہے۔ یہ فنکشن کے دائرہ کار یا عالمی سطح پر دائرہ کار ہے اور اسے دوبارہ اعلان اور اپ ڈیٹ کیا جا سکتا ہے۔
let ایک بلاک اسکوپ والے مقامی متغیر کا اعلان کرتا ہے، اختیاری طور پر اسے کسی قدر سے شروع کرتا ہے۔ اسی دائرہ کار میں اس کا دوبارہ اعلان نہیں کیا جا سکتا۔
const بلاک اسکوپڈ، صرف پڑھنے کے لیے مستقل کا اعلان کرتا ہے۔ اسے اعلان کے وقت شروع کیا جانا چاہیے اور اسے دوبارہ تفویض نہیں کیا جا سکتا۔
writeHead Node.js میں HTTP جواب کے لیے اسٹیٹس کوڈ اور ہیڈر سیٹ کرتا ہے۔
createServer Node.js میں ایک HTTP سرور بناتا ہے، جو درخواستوں کو سن سکتا ہے اور ان کا جواب دے سکتا ہے۔
listen ایک مخصوص پورٹ پر آنے والے کنکشنز کو سننا شروع کرنے کے لیے سرور کو سیٹ کرتا ہے۔
console.log کنسول پر پیغامات پرنٹ کرتا ہے، جو ڈیبگنگ کے مقاصد کے لیے مفید ہے۔

پریکٹس میں "لیٹ" اور "var" کیسے مختلف ہیں۔

فرنٹ اینڈ اسکرپٹ مثال کے درمیان کلیدی فرق کو واضح کرتی ہے۔ var اور let. میں varTest فنکشن، متغیر var x ایک if بلاک کے اندر اعلان کیا جاتا ہے اور پورے فنکشن کے دائرہ کار میں اسی متغیر کو دوبارہ تفویض کرتا ہے۔ اس کے نتیجے میں دونوں کنسول لاگ آؤٹ پٹ 2 ہوتے ہیں، یہ ظاہر کرتے ہیں کہ کیسے var بلاک دائرہ کار کا احترام نہیں کرتا ہے۔ اس کے برعکس، letTest فنکشن کا اعلان کرتا ہے۔ let y if بلاک کے اندر اور باہر دونوں۔ دی let بلاک کے اندر ڈیکلریشن ایک مختلف متغیر ہے، اس لیے پہلا کنسول لاگ آؤٹ پٹ 2، اور دوسرا کنسول لاگ آؤٹ پٹ 1، بلاک اسکوپ کا احترام کرتے ہوئے۔

بیک اینڈ Node.js مثال ان اختلافات کو مزید ظاہر کرنے کے لیے ایک سادہ HTTP سرور ترتیب دیتی ہے۔ استعمال کرنا var count اگر بلاک کے اندر، ہم اسے دیکھتے ہیں۔ var بیرونی کو اوور رائٹ کرتا ہے۔ count فنکشن کی گنجائش کی وجہ سے متغیر۔ دی let message بلاک کے اندر اس بلاک کے لیے مقامی رہتا ہے، ہر بلاک کے لیے مختلف پیغامات کو آؤٹ پٹ کرکے بلاک اسکوپنگ کو ظاہر کرتا ہے۔ کا استعمال createServer اور listen کمانڈز سرور قائم کرتا ہے، جو کلائنٹ کو جوابات لکھتا ہے، اور اس کے عملی اطلاقات کا مظاہرہ کرتا ہے۔ var اور let حقیقی دنیا کے منظرناموں میں۔

جاوا اسکرپٹ میں "let" اور "var" کے درمیان فرق کرنا

فرنٹ اینڈ جاوا اسکرپٹ کی مثال

// Example demonstrating the difference between 'var' and 'let'
function varTest() {
    var x = 1;
    if (true) {
        var x = 2;  // same variable
        console.log(x);  // 2
    }
    console.log(x);  // 2
}

function letTest() {
    let y = 1;
    if (true) {
        let y = 2;  // different variable
        console.log(y);  // 2
    }
    console.log(y);  // 1
}

varTest();
letTest();

"let" اور "var" کے ساتھ اسکوپنگ کو سمجھنا

Backend Node.js مثال

// Backend example using Node.js to demonstrate 'let' and 'var'
const http = require('http');

http.createServer((req, res) => {
    res.writeHead(200, {'Content-Type': 'text/plain'});
    var count = 10;
    let message = "The count is: ";

    if (true) {
        var count = 20;  // 'count' is hoisted and overwritten
        let message = "New count is: ";  // block-scoped
        res.write(message + count);  // New count is: 20
    }
    res.write(message + count);  // The count is: 20
    res.end();
}).listen(8080);

console.log('Server running at http://127.0.0.1:8080/');

دائرہ کار اور لہرانے میں گہرا غوطہ لگائیں۔

موازنہ کرتے وقت ایک اور اہم پہلو پر غور کرنا ہے۔ let اور var لہرا رہا ہے. اعلانات کو موجودہ دائرہ کار کے اوپر لے جانے کا جاوا اسکرپٹ کا طرز عمل ہے۔ کے ساتھ varمتغیرات کو لہرایا جاتا ہے اور اس کے ساتھ شروع کیا جاتا ہے۔ undefined، جو غیر متوقع نتائج کا باعث بن سکتا ہے اگر متغیر کو اس کے اعلان سے پہلے استعمال کیا جائے۔ اس کے برعکس میں، let بھی لہرایا جاتا ہے، لیکن اس کی ابتدا نہیں کی جاتی ہے۔ اس کا مطلب ہے a تک رسائی let اس کے اعلان سے پہلے متغیر کے نتیجے میں a ReferenceError.

مزید برآں، let لوپس میں بندش کے مسائل کو روکنے میں مدد کرتا ہے۔ استعمال کرتے وقت var ایک لوپ میں، تمام تکرار ایک ہی متغیر کا حوالہ دیتے ہیں، جو کیڑے کا باعث بن سکتے ہیں۔ البتہ، let ہر تکرار کے لیے ایک نیا بائنڈنگ بناتا ہے، اس بات کو یقینی بناتا ہے کہ ہر لوپ کی تکرار کا اپنا دائرہ ہو۔ یہ رویہ بناتا ہے۔ let لوپس کے اندر متغیرات کا اعلان کرنے کے لیے ایک محفوظ اور زیادہ قابل قیاس انتخاب۔

جاوا اسکرپٹ میں 'let' اور 'var' کے بارے میں عام سوالات

  1. جاوا اسکرپٹ میں لہرانا کیا ہے؟
  2. اعلانات کو موجودہ دائرہ کار کے اوپر لے جانے کا جاوا اسکرپٹ کا طے شدہ طرز عمل ہے۔ var اعلانات کو لہرایا اور شروع کیا جاتا ہے۔ undefinedجبکہ let اعلانات لہرائے جاتے ہیں لیکن شروع نہیں ہوتے۔
  3. اگر آپ a استعمال کرتے ہیں تو کیا ہوتا ہے۔ let اس کے اعلان سے پہلے متغیر؟
  4. رسائی کرنا a let متغیر اس کے اعلان سے پہلے a ReferenceError.
  5. کر سکتے ہیں۔ let اور var اسی دائرہ کار میں دوبارہ اعلان کیا جائے؟
  6. نہیں، let اسی دائرہ کار میں دوبارہ اعلان نہیں کیا جا سکتا، جبکہ var اسی دائرہ کار میں دوبارہ اعلان کیا جا سکتا ہے۔
  7. کیوں ہے let loops میں ترجیح؟
  8. let لوپ کے ہر تکرار کے لیے ایک نیا بائنڈنگ بناتا ہے، اس بات کو یقینی بناتا ہے کہ ہر لوپ کی تکرار کا اپنا دائرہ ہو۔ یہ بندش سے وابستہ عام کیڑے کو روکتا ہے۔
  9. کرتا ہے۔ var بلاک دائرہ کار کا احترام کریں؟
  10. نہیں، var بلاک دائرہ کار کا احترام نہیں کرتا؛ یہ فنکشن کے دائرہ کار یا عالمی سطح پر دائرہ کار ہے۔
  11. عارضی ڈیڈ زون کیا ہے؟
  12. ٹیمپورل ڈیڈ زون دائرہ کار میں داخل ہونے اور متغیر کے حقیقی اعلان کے درمیان کا وقت ہے، جس کے دوران ایک let متغیر a پھینکے گا۔ ReferenceError.
  13. کر سکتے ہیں۔ const اسی طرح استعمال کیا جائے۔ let?
  14. جی ہاں، const بلاک اسکوپ کی طرح ہے۔ let، لیکن یہ متغیرات کا اعلان کرنے کے لیے استعمال ہوتا ہے جنہیں دوبارہ تفویض نہیں کیا جانا چاہیے۔
  15. کب چاہیے؟ let زیادہ استعمال کیا جائے var?
  16. let زیادہ استعمال کیا جانا چاہئے var جب آپ کو بلاک اسکوپ کی ضرورت ہو اور متغیر ہوسٹنگ اور بندش کے مسائل سے بچنے کے لیے۔

متغیر اعلانات پر حتمی خیالات

آخر میں، کا تعارف let ECMAScript میں 6 نے ڈویلپرز کو JavaScript میں متغیر اعلان کے لیے زیادہ مضبوط ٹول فراہم کیا ہے۔ کے درمیان فرق کو سمجھنا let اور var صاف ستھرا، زیادہ برقرار رکھنے والا کوڈ لکھنے کے لیے ضروری ہے۔ جبکہ var بعض حالات میں اب بھی مفید ہو سکتا ہے، let گنجائش اور لہرانے پر بہتر کنٹرول پیش کرتا ہے، کیڑے کے امکانات کو کم کرتا ہے۔

چن کر let ختم var مناسب منظرناموں میں، ڈویلپرز بلاک سکوپنگ کا فائدہ اٹھا سکتے ہیں اور متغیر اعلان اور لہرانے سے وابستہ عام خرابیوں سے بچ سکتے ہیں۔ یہ علم ہر اس شخص کے لیے بنیادی ہے جو جدید JavaScript کی ترقی میں مہارت حاصل کرنا چاہتے ہیں۔