जावास्क्रिप्ट कॉन्स्ट

ECMAScript 2015

ES2015 ने दो अहम जेसक्रिप्ट नए कीवर्ड शामिल किए: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 है

अपने आप से प्रयास करें

आप पिछले चापरे में जावास्क्रिप्ट लेट ब्लॉक उपयोग क्षेत्र के बारे में अधिक जानता है।

घोषणा के समय

जेसक्रिप्ट 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

अपने आप से प्रयास करें

ब्राउज़र समर्थन

इंटरनेट एक्सप्लोरर 10 या अधिक पुरानी संस्करण इसे समर्थित नहीं करते const चिह्नित शब्द.

नीचे दिए गए तालिका में पहली बार const चिह्नित वेरियेबल को पूरी तरह से समर्थन देने वाले ब्राउज़र के संस्करण निर्दिष्ट किया गया है:

क्रोम 49 आईई / एज 11 फायरफॉक्स 36 सफारी 10 ऑपेरा 36
2016 वर्ष 3 माह 2013 वर्ष 10 माह 2015 वर्ष 2 माह 2016 वर्ष 9 माह 2016 वर्ष 3 माह

फिर से घोषित करना

कार्यक्रम में किसी भी स्थान पर JavaScript को फिर से घोषित करने की अनुमति है var वेरियेबल:

इंस्टांस

var x = 2;    // अनुमति है
var x = 3;    // अनुमति है
x = 4;        // अनुमति है

एक ही कार्य क्षेत्र या ब्लॉक में, मौजूदा कोई भी वेरियेबल को फिर से घोषित करना अनुमति नहीं है: var या let वेरियेबल को फिर से घोषित करने या फिर से आसीन करने के लिए: 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) क्या है, इस चैप्टर को पढ़ें।

आप वार वेरियेबल को घोषणा से पहले उपयोग कर सकते हैं:

इंस्टांस

carName = "Volvo";    // यहाँ पर carName का उपयोग किया जा सकता
var carName;

अपने आप से प्रयास करें

द्वारा const घोषित वेरियेबल शीर्ष पर उठाए नहीं जाते हैं。

const वेरियेबल को घोषणा से पहले उपयोग नहीं किया जा सकता:

इंस्टांस

carName = "Volvo";    // यहाँ पर carName का उपयोग नहीं किया जा सकता
const carName = "Volvo";