# वेरिएबल्स: let, const, var — जावास्क्रिप्ट

Source: https://www.geekswithgeeks.com/hi/javascript/js-variables

> घोषित करने के तीन तरीके, और क्यों const डिफ़ॉल्ट होना चाहिए।

## वेरिएबल घोषित करना

`let` को दोबारा असाइन किया जा सकता है, `const` को नहीं, और `var` पुराना, फ़ंक्शन-स्कोप्ड तरीका है।

```js
let age = 25;
age = 26;          // OK

const name = "Ada";
// name = "Bo";    // TypeError

var legacy = "old style";
```

## ब्लॉक बनाम फ़ंक्शन स्कोप

`let`/`const` **ब्लॉक-स्कोप्ड** हैं — `{ }` तक सीमित। `var` **फ़ंक्शन-स्कोप्ड** है और `if` या `for` जैसे ब्लॉक से बाहर निकल जाता है।

## डिफ़ॉल्ट रूप से const

`const` उपयोग करें जब तक मान बदलने वाला न हो, तभी `let` लें। आधुनिक कोड में `var` से बचें।

## ऑब्जेक्ट के साथ const

`const` केवल *बाइंडिंग* को लॉक करता है, अंदर की चीज़ों को नहीं — `const` से बना ऑब्जेक्ट या array अब भी बदला जा सकता है।

```js
const user = { name: "Ada" };
user.name = "Grace";   // allowed
console.log(user);
```

Output:

```
{ name: 'Grace' }
```
