JavaScript Const

ECMAScript 2015

ES2015 একটি গুরুত্বপূর্ণ JavaScript নতুন কীভাবেlet এবং const

দ্বারা const নির্ধারিত let নিবন্ধিত বস্তু এর

ইনস্ট্যান্স

const PI = 3.141592653589793;
PI = 3.14;      // এটি ভুল হবে
PI = PI + 10;   // এটি ভুল হবে

স্বয়ংক্রিয়ভাবে প্রয়োগ করুন

ব্লক অংশক্ষেত্র

এখানেব্লক অংশক্ষেত্রভিতরে ব্যবহৃত const নিবন্ধিত বস্তু এর let বদলি বস্তু

এই উদাহরণে, x ব্লকে নিবন্ধিত হয়েছে, যা ব্লক বাইরে নিবন্ধিত x-এর থেকে ভিন্ন

ইনস্ট্যান্স

var x = 10;
// এখানে x = 10
{ 
  const x = 6;
  // এখানে x = 6
{}
// এখানে x = 10

স্বয়ংক্রিয়ভাবে প্রয়োগ করুন

আপনি পূর্ববর্তী চাপটিতে JavaScript Let ব্লক অংশক্ষেত্রের বিষয়ে আরও বেশি জানতে পারবেন。

নিবন্ধটি করতে

JavaScript const বদলি নিবন্ধ করতে পর্যন্ত পরিবর্তন করতে হবে:

ভুল

const PI;
PI = 3.14159265359;

সঠিক

const PI = 3.14159265359;

তা একটি প্রকৃত কনস্ট্যান্ট নয়

কীভাবে const এটি একটি মিথ্যা প্রভাব প্রদান করে。

এটি কোনও কনস্ট্যান্ট মান নির্ধারণ করে না। এটি মানের কনস্ট্যান্ট সূত্র নির্ধারণ করে。

তাই, আমরা কনস্ট্যান্ট মৌলিক মান পরিবর্তন করতে পারব না, কিন্তু আমরা কনস্ট্যান্ট অবজেক্টের বৈশিষ্ট্য পরিবর্তন করতে পারি。

মৌলিক মান

যদি আমরা একটি মৌলিক মান কনস্ট্যান্ট-কে এসে দিই, তবে আমরা মৌলিক মান পরিবর্তন করতে পারব না:

ইনস্ট্যান্স

const PI = 3.141592653589793;
PI = 3.14;      // এটি ভুল হবে
PI = PI + 10;   // এটি ভুল হবে

স্বয়ংক্রিয়ভাবে প্রয়োগ করুন

কনস্ট্যান্ট অবজেক্ট পরিবর্তন করতে পারে:

আপনি কনস্ট্যান্ট অবজেক্টের বৈশিষ্ট্য পরিবর্তন করতে পারেন:

ইনস্ট্যান্স

// আপনি const অবজেক্ট তৈরি করতে পারেন:
const car = {type:"porsche", model:"911", color:"Black"};
// আপনি প্রতিধ্বনিকরণ করতে পারেন:
car.color = "White";
// 您可以添加属性:
car.owner = "Bill";

স্বয়ংক্রিয়ভাবে প্রয়োগ করুন

但是您无法重新为常量对象赋值:

ইনস্ট্যান্স

const car = {type:"porsche", model:"911", color:"Black"};
car = {type:"Volvo", model:"XC60", color:"White"};    // ERROR

স্বয়ংক্রিয়ভাবে প্রয়োগ করুন

常量数组可以更改

您可以更改常量数组的元素:

ইনস্ট্যান্স

// 您可以创建常量数组:
const cars = ["Audi", "BMW", "porsche"];
// 您可以更改元素:
cars[0] = "Honda";
// 您可以添加元素:
cars.push("Volvo");

স্বয়ংক্রিয়ভাবে প্রয়োগ করুন

但是您无法重新为常量数组赋值:

ইনস্ট্যান্স

const cars = ["Audi", "BMW", "porsche"];
cars = ["Honda", "Toyota", "Volvo"];    // ERROR

স্বয়ংক্রিয়ভাবে প্রয়োগ করুন

浏览器支持

Internet Explorer 10 或更早版本不支持 const 关键词。

下表定义了第一个完全支持 const 关键词的浏览器版本:

Chrome 49 IE / Edge 11 Firefox 36 Safari 10 Opera 36
2016 年 3 月 2013 年 10 月 2015 年 2 月 2016 年 9 月 2016 年 3 月

重新声明

在程序中的任何位置都允许重新声明 JavaScript var 变量:

ইনস্ট্যান্স

var x = 2;    //  অনুমদিত
var x = 3;    //  অনুমদিত
x = 4;        //  অনুমদিত

在同一作用域或块中,不允许将已有的 varlet 变量重新声明或重新赋值给 const

ইনস্ট্যান্স

var x = 2;         // অনুমদিত
const x = 2;       // অনুমদিত নয়
{
  let x = 2;     // অনুমদিত
  const x = 2;   // অনুমদিত নয়
{}

在同一作用域或块中,为已有的 const 变量重新声明声明或赋值是不允许的:

ইনস্ট্যান্স

const x = 2;       // অনুমতি
const x = 3;       // অনুমদিত নয়
x = 3;             // অনুমদিত নয়
var x = 3;         // অনুমদিত নয়
let x = 3;         // অনুমদিত নয়
{
  const x = 2;   // অনুমতি
  const x = 3;   // অনুমতি নয়
  x = 3;         // অনুমতি নয়
  var x = 3;     // অনুমতি নয়
  let x = 3;     // অনুমতি নয়
{}

অন্য কোনও অভিন্ন স্কোপ বা ব্লকে পুনরায় ঘোষণা করা const এটি অনুমতি পায়:

ইনস্ট্যান্স

const x = 2;       // অনুমতি
{
  const x = 3;   // অনুমতি
{}
{
  const x = 4;   // অনুমতি
{}

উন্নীত

দ্বারা var সংজ্ঞাকৃত বদলটি উন্নীত হবে:উন্নীতউন্নীত (Hoisting) কি আপনি জানেন না, তবে এই চাপটি শিখুন

আপনি var বদল ব্যবহার করার আগেই তা ব্যবহার করতে পারেন:

ইনস্ট্যান্স

carName = "Volvo";    // এখানে আপনি carName ব্যবহার করতে পারবেন
var carName;

স্বয়ংক্রিয়ভাবে প্রয়োগ করুন

দ্বারা const সংজ্ঞাকৃত বদলটি শীর্ষে উন্নীত হয় না。

const বদল বিন্যাস পূর্বে বদল ব্যবহার করা যায় না:

ইনস্ট্যান্স

carName = "Volvo";    // এখানে আপনি carName ব্যবহার করতে পারবেন না
const carName = "Volvo";