खोज…


वाक्य - विन्यास

  • var foo [= value [, foo2 [, foo3 ... [, fooN]]]];
  • बार [= value [, bar2 [, foo3 ... [, barN]]]];
  • const baz = value [, baz2 = value2 [, ... [, bazN = valueN]]];

टिप्पणियों

यह सभी देखें:

लगातार स्थिरांक

आप स्थिरांक को पुन: असाइन नहीं कर सकते।

const foo = "bar";
foo = "hello";

प्रिंटों:

Uncaught TypeError: Assignment to constant.

स्थिरांक को संशोधित करना

एक वैरिएबल const घोषणा करना केवल इसके मूल्य को नए मूल्य द्वारा प्रतिस्थापित करने से रोकता है। const किसी वस्तु की आंतरिक स्थिति पर कोई प्रतिबंध नहीं लगाता है। निम्न उदाहरण से पता चलता है कि एक const ऑब्जेक्ट की एक संपत्ति का मूल्य बदला जा सकता है, और यहां तक कि नए गुणों को भी जोड़ा जा सकता है, क्योंकि जो ऑब्जेक्ट person को सौंपा गया है, वह संशोधित है, लेकिन प्रतिस्थापित नहीं किया गया है

const person = { 
    name: "John" 
};
console.log('The name of the person is', person.name);

person.name = "Steve";
console.log('The name of the person is', person.name);

person.surname = "Fox";
console.log('The name of the person is', person.name, 'and the surname is', person.surname);

परिणाम:

The name of the person is John
The name of the person is Steve
The name of the person is Steve and the surname is Fox

इस उदाहरण में हमने person नामक निरंतर ऑब्जेक्ट बनाया है और हमने person.name संपत्ति को फिर से person.name है और नया person.surname बनाया है। person.surname संपत्ति।

स्थिरांक घोषित करना और आरंभ करना

आप const कीवर्ड का उपयोग करके एक निरंतर शुरू कर सकते हैं।

const foo = 100;
const bar = false;
const person = { name: "John" };
const fun = function () = { /* ... */ };
const arrowFun = () => /* ... */ ;

महत्वपूर्ण
आपको उसी स्टेटमेंट में एक कॉन्स्टेंट को घोषित और इनिशियलाइज़ करना होगा।

घोषणा

जावास्क्रिप्ट में एक चर घोषित करने के चार सिद्धांत तरीके हैं: var , let या const कीवर्ड का उपयोग करना, या बिना कीवर्ड के ("नंगे" घोषणा)। उपयोग की जाने वाली विधि, चर के परिणामी दायरे को निर्धारित करती है, या कब्ज के मामले में पुन: const

  • var कीवर्ड फ़ंक्शन-स्कोप वैरिएबल बनाता है।
  • let कीवर्ड ब्लॉक-स्कोप वैरिएबल बनाता है।
  • const कीवर्ड एक ब्लॉक-स्कोप वैरिएबल बनाता है जिसे फिर से असाइन नहीं किया जा सकता है।
  • एक नंगे घोषणा एक वैश्विक चर बनाता है।
var a = 'foo';    // Function-scope
let b = 'foo';    // Block-scope
const c = 'foo';  // Block-scope & immutable reference

ध्यान रखें कि आप एक ही समय में उन्हें प्रारंभ किए बिना स्थिरांक घोषित नहीं कर सकते।

const foo; // "Uncaught SyntaxError: Missing initializer in const declaration"

(तकनीकी कारणों से कीवर्ड-कम परिवर्तनीय घोषणा का उदाहरण ऊपर शामिल नहीं है। उदाहरण देखने के लिए पढ़ना जारी रखें।)

जानकारी का प्रकार

जावास्क्रिप्ट चर कई डेटा प्रकार धारण कर सकते हैं: संख्या, तार, सरणियाँ, वस्तुएं और बहुत कुछ:

// Number
var length = 16;

// String
var message = "Hello, World!"; 

// Array
var carNames = ['Chevrolet', 'Nissan', 'BMW']; 

// Object
var person = {
    firstName: "John",
    lastName: "Doe"
}; 

जावास्क्रिप्ट में गतिशील प्रकार हैं। इसका अर्थ है कि एक ही चर को विभिन्न प्रकारों के रूप में इस्तेमाल किया जा सकता है:

var a;              // a is undefined
var a = 5;          // a is a Number
var a = "John";     // a is a String

अपरिभाषित

मूल्य के बिना घोषित चर में मूल्य undefined

var a;

console.log(a); // logs: undefined

एक संदर्भ में अघोषित चर के परिणाम को पुनः प्राप्त करने की कोशिश करना। हालांकि, दोनों प्रकार के अघोषित और इकाईगत चर "अपरिभाषित" हैं:

var a;
console.log(typeof a === "undefined"); // logs: true
console.log(typeof variableDoesNotExist === "undefined"); // logs: true

असाइनमेंट

पहले घोषित चर के मान को असाइन करने के लिए, असाइनमेंट ऑपरेटर का उपयोग करें, = :

a = 6;
b = "Foo";

स्वतंत्र घोषणा और असाइनमेंट के विकल्प के रूप में, एक बयान में दोनों चरणों को निष्पादित करना संभव है:

var a = 6;
let b = "Foo";

यह इस वाक्यविन्यास में है कि वैश्विक चर को एक खोजशब्द के बिना घोषित किया जा सकता है; अगर किसी को बिना असाइनमेंट के तुरंत बाद एक नंगे वेरिएबल की घोषणा करनी थी, तो दुभाषिया वैश्विक घोषणाओं में अंतर करने में सक्षम नहीं होगा a; चर से संदर्भों के लिए a;

c = 5;
c = "Now the value is a String.";
myNewGlobal;    // ReferenceError

ध्यान दें, हालांकि, उपरोक्त वाक्यविन्यास आमतौर पर हतोत्साहित किया जाता है और यह सख्त-मोड अनुपालन नहीं है। यह उस परिदृश्य से बचने के लिए है जिसमें कोई प्रोग्रामर अनजाने में अपने बयान से let या var कीवर्ड को गलती से छोड़ देता है, गलती से वैश्विक नामस्थान में एक साकार बनाता है बिना इसे साकार किए। यह वैश्विक नाम स्थान और पुस्तकालयों के साथ संघर्ष और एक स्क्रिप्ट के समुचित कार्य को प्रदूषित कर सकता है। इसलिए, वैश्विक चर को विंडो ऑब्जेक्ट के संदर्भ में var कीवर्ड का उपयोग करके घोषित और आरंभिक किया जाना चाहिए, ताकि इरादे स्पष्ट रूप से बताए जा सकें।

इसके अतिरिक्त, चर को अल्पविराम के साथ प्रत्येक घोषणा (और वैकल्पिक मूल्य असाइनमेंट) को अलग करके कई बार घोषित किया जा सकता है। इस सिंटैक्स का उपयोग करते हुए, प्रत्येक कथन की शुरुआत में केवल एक बार var और let कीवर्ड्स का उपयोग किया जाना चाहिए।

globalA = "1", globalB = "2";
let x, y = 5;
var person = 'John Doe',
    foo,
    age = 14,
    date = new Date(); 

पूर्ववर्ती कोड स्निपेट में ध्यान दें कि जिस क्रम में घोषणा और असाइनमेंट अभिव्यक्तियाँ होती हैं ( var a, b, c = 2, d; ) कोई फर्क नहीं पड़ता। आप स्वतंत्र रूप से दोनों को रोक सकते हैं।

फ़ंक्शन की घोषणा प्रभावी ढंग से चर भी बनाती है।

गणित के संचालन और असाइनमेंट

द्वारा वृद्धि

var a = 9,  
b = 3;  
b += a;  

b अब 12 होगा

यह कार्यात्मक रूप से समान है

b = b + a; 

से घटा है

var a = 9,  
b = 3;  
b -= a;  

b अब 6 होगा

यह कार्यात्मक रूप से समान है

b = b - a;  

से गुणा करो

var a = 5,  
b = 3;  
b *= a;  

b अब 15 होगा

यह कार्यात्मक रूप से समान है

b = b * a;  

से विभाजित

var a = 3,  
b = 15;  
b /= a;  

b अब 5 होगा

यह कार्यात्मक रूप से समान है

b = b / a;  

7

की शक्ति से उठा

var a = 3,  
b = 15;  
b **= a;  

b अब 3375 होगा

यह कार्यात्मक रूप से समान है

b = b ** a;  


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow