জাভাস্ক্রিপ্ট — var,let,const

5941 단어 letconstes6var
ES6পড়ুন (এটি ECMAScript 2015নামেও পরিচিত) জাভাস্ক্রিপ্টের সিনট্যাক্সের চেয়ে বড় পরিবর্তন হয়েছে এবং জেএসে নতুন বৈশিষ্ট্য নিয়ে আসছে যা এর আগে ছিল না…
ES6জানা গুরুত্বপূর্ণ কারণ এর একটি কারণ হ’ল এটি জাভাস্ক্রিপ্টকে আরও ভাল লেখা এবং সহজ করে তোলে এবং একই সাথে আজকের আধুনিক ওয়েব প্রযুক্তির সাথে রিঅ্যাক্ট(반응),নোড.জেস(Node.js)এবং আরও অনেকগুলি ব্যবহার করা হচ্ছে ।
এই পোস্টে, আপনি নতুন কীওয়ার্ড শিখতে পারবেন যা ES6ভ্যারিয়েবল ডিক্লারেশন্স জন্য নিয়ে আসছে: let এবং const । তবে প্রথমে, আসুন কী কী ভুল ছিল তা ব্যাখ্যা করি var
위험치সমস্যা কি ছিল?
위험치ভেরিয়েবল ঘোষণার জন্য আমাদের কাছে ইতিমধ্যে জেএসে কীওয়ার্ড ছিল । তাহলে কেন ES6অতিরিক্ত কীওয়ার্ড চালু করেছে?
সমস্যাটি বোঝার জন্য 위험치প্রথমে আপনাকে বুঝতে হবে যে Scope কী।

Scope determines the accessibility of variables, objects, and functions from different parts of the code. - w3schools


জাভাস্ক্রিপ্টে 삼.ধরণের স্কোপ (범위)রয়েছে:
  • ফাংশন (লোকাল ) সুযোগ
  • গ্লোবাল স্কোপ (범위)
  • ব্লক স্কোপ (범위)(ইএস 육.সহ নতুন)
  • var supports function & global scope, but not block scope.


    ফাংশন ( লোকাল ) স্কোপ
    যখন কোনও ফাংশনের অভ্যন্তরে কোনও ভেরিয়েবল সংজ্ঞায়িত করা হয় , এটি কেবলমাত্র সেই ফাংশনের জন্য লোকাল হবে এবং বাইরে ব্যবহার করা যাবে না:
    function local() { 
      var number = 1; 
      console.log(number); // 1 gets printed 
    } 
    console.log(number); // undefined
    

    গ্লোবাল স্কোপ
    যখন কোনও ফাংশনের বাইরে কোনও ভেরিয়েবল ঘোষণা করা হয় বা 위험치কীওয়ার্ড ছাড়াই তখন তা গ্লোবাল হয়ে যাবে এবং যে কোনও জায়গা থেকে অ্যাক্সেসযোগ্য হবে:
    var number = 1; 
    function local() { 
       console.log(number); // 1 gets printed 
    } 
    console.log(number); // 1 gets printed
    
    ব্লক স্কোপ

    curly braces { }, if-else cases এবং for loops হয় block-scoped


    인스턴스
    if(true){
       let letVariable = "This is let Variable";
    }
    console.log(letVariable)
    
    출력Uncaught ReferenceError: letVariable is not defined작업 중
    if(true){
       let letVariable = "This is let Variable";
       console.log(letVariable)
    }
    
    
    출력This is let Variableআসুন লুপের ভিতরে একটি ভেরিয়েবল (সহ var)সংজ্ঞায়িত করি এবং দেখুন কী প্রিন্ট হয়...
    for(var i = 1; i < 10; i++) { 
       console.log(i); 
    } 
    console.log(i); // What do we expect here?
    

    এখানে সবকিছু ঠিক আছে মনে হচ্ছে। তবে দ্বিতীয় কনসোল.লগের কী হবে?

    দ্বিতীয় 위로하다로그বাইরে জন্য লুপ এবং লোকাল ভ্যারিয়েবল
    "나"যেহেতু প্রিন্ট হওয়ার কথা ছিল 정의되지 않음।
    তবে, যদি আমরা let 또는 const,ব্যবহার করি, যেহেতু সেগুলি ব্লক-স্কোপড , এই সমস্যাটি সমাধান হবে।
    রেডিক্লারেশন ইসু অফ위험 값 (문제 재선언)
    এর সাথে আর একটি সমস্যা 위험치হ'ল এটি একই পরিবর্তনশীলগুলিকে বারবার পুনরায় ডিক্লেয়ার করার অনুমতি দেয় :
    var number = 1; // first declaration 
    var number = 2; // same variable redeclared with the same name console.log(number); // And we see no errors
    

    এখন আসুন দেখুন ES6কীভাবে তাদের সাথে ডিল করে …
    위험치এর পরিবর্তে 허락
    আমি উপরে উল্লিখিত সমস্যাগুলি প্রতিরোধ করতে আসুন এর সাথে আবার চেষ্টা করুন 양보:
    for(let i = 0; i < 10; i++) { // same local variable with let   console.log(i); 
    } 
    console.log(i); // This time what do we expect?
    

    তাই 허락ব্লক-স্কোপ ও দ্বিতীয় 위로하다로그প্রিন্ট করছে 정의되지 않음। পারফেক্ট!
    এছাড়াও, একটি ভেরিয়েবলের সাথে একটি ভেরিয়েবল পুনরায় ঘোষণার চেষ্টা করে 허락একটি ত্রুটি প্রদান করে:

    সুতরাং 허락কীওয়ার্ড:
  • let varএর পরিবর্তে ব্যবহার করা হয়(var 대체 가능)
  • এটা 블록 범위(블록 범위)
  • রেডিক্লারেশন অনুমতি দেই না(재선언은 허용되지 않지만 나중에 재할당할 수 있음)।
  • 상수
    অন্য নতুন কীওয়ার্ড যা ES6এনেছে তা হ’ল 상수।
    허락এবং এর মধ্যে পার্থক্য 상수হল একবার আমরা এর সাথে একটি ভেরিয়েবল ঘোষণা করি 상수,পরে এটি পরিবর্তন করা যায় না:

    if(true){
       const constVariable = "This is const";
       constVariable = "This is const again";
       console.log(constVariable );
    }
    
    출력Uncaught TypeError: Assignment to constant variable또 다른 예
    if(true){
       const constVariable = {
          name: "Javasript",
          age: "20 years"  
       };
       constVariable.name = "JS";
       console.log(constVariable );
    }
    
    출력{name: "JS", age: "20 years"}

    좋은 웹페이지 즐겨찾기