জাভাস্ক্রিপ্ট — var,let,const
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?
তাই 허락ব্লক-স্কোপ ও দ্বিতীয় 위로하다로그প্রিন্ট করছে 정의되지 않음। পারফেক্ট!
এছাড়াও, একটি ভেরিয়েবলের সাথে একটি ভেরিয়েবল পুনরায় ঘোষণার চেষ্টা করে 허락একটি ত্রুটি প্রদান করে:
সুতরাং 허락কীওয়ার্ড:
অন্য নতুন কীওয়ার্ড যা 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"}
Reference
이 문제에 관하여(জাভাস্ক্রিপ্ট — var,let,const), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/bipon68/var-let-const-4f3j텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)