JavaScript
Tags: javascript, jsdatatypes, jsvariables
Published: 2024-05-28 21:42:14

## JavaScript Versions


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wyqqp1a4emnlrmow9v6e.png)

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gwv2t2u9o6h3a5tmk6ix.png)

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fql5tke9vk9xu5tnoqyj.png)



## JavaScript DataTypes

JavaScript kuchli turdagi dasturlash tili bo'lib, uning o'ziga xos turdagi tizimi mavjud. JavaScriptda ma'lumot turlarini ikki asosiy guruhga bo'lish mumkin: primitiv (asosiy) turlar va murakkab turlar. Keling, ushbu turlarning har birini batafsil ko'rib chiqamiz.

**Primitiv ma'lumot turlari**

- Number. Number turi butun sonlar va o'nlik sonlarni o'z ichiga oladi.

```
let integer = 42;
let float = 3.14;
```


- String. String turi matnlarni ifodalaydi va qo'shtirnoq (" ") yoki bir tirnoq (' ') ichida yoziladi.

```
let greeting = "Hello, world!";
let name = 'John Doe';
```


- Boolean. Boolean turi faqat ikkita qiymatga ega: true yoki false.

```
let isJavaScriptFun = true;
let isJavaHard = false;
```


- Undefined. O'zgaruvchi e'lon qilingan, lekin unga qiymat berilmagan bo'lsa, uning qiymati undefined bo'ladi.

```
let x;
console.log(x); // undefined
```


- Null. Null qiymati hech qanday qiymat mavjud emasligini ifodalaydi. Bu o'zgaruvchiga qiymat berilmaganligini bildiradi.

```
let y = null;
```


- Symbol (ES6dan boshlab). Symbol turi noyob va o'zgarmas qiymatni ifodalaydi va ko'pincha ob'ekt kalitlari uchun ishlatiladi.

```
let sym1 = Symbol('description');
let sym2 = Symbol('description');
console.log(sym1 === sym2); // false
```


- BigInt (ES2020dan boshlab). BigInt juda katta butun sonlarni ifodalash uchun ishlatiladi va oxiriga n harfi qo'shiladi.

```
let bigNumber = 9007199254740991n;
```


**Nonprimitiv ma'lumot turlari**

- Object. Object turida bir nechta qiymatlar to'plami mavjud bo'lib, ular kalit-qiymat juftliklari shaklida saqlanadi.

```
let person = {
    name: "Alice",
    age: 25,
    isStudent: true
};
```


- Array. Array turi ma'lumotlar ro'yxatini saqlaydi va elementlar indeks bo'yicha joylashadi.

```
let colors = ["red", "green", "blue"];
```


- Function. Function turi bajariladigan kod blokini ifodalaydi va parametrlar hamda qaytarish qiymati bo'lishi mumkin.

```
function greet(name) {
    return "Hello, " + name + "!";
}
```


## Turini Aniqlash

**JavaScriptda o'zgaruvchining turini aniqlash uchun typeof operatoridan foydalaniladi:**

```
console.log(typeof 42); // "number"
console.log(typeof "Hello"); // "string"
console.log(typeof true); // "boolean"
console.log(typeof undefined); // "undefined"
console.log(typeof null); // "object" (bu eski xato, null aslida null turiga kiradi)
console.log(typeof Symbol("id")); // "symbol"
console.log(typeof 9007199254740991n); // "bigint"
console.log(typeof {}); // "object"
console.log(typeof []); // "object" (array ham object turiga kiradi)
console.log(typeof function(){}); // "function"
```




## JavaScript Variables (O'zgaruvchilar)

_JavaScript dasturlash tilida o'zgaruvchilar ma'lumotlarni saqlash va ularga murojaat qilish uchun ishlatiladi. O'zgaruvchilarni e'lon qilish va boshqarish JavaScript dasturining asosiy qismi hisoblanadi. Quyida JavaScript o'zgaruvchilarini e'lon qilish, turlari va ularni ishlatish usullari haqida batafsil ma'lumot beramiz._

O'zgaruvchilarni E'lon Qilish

- JavaScriptda o'zgaruvchilarni e'lon qilish uchun uchta asosiy kalit so'z mavjud: var, let, va const.

- var

- ES6 dan avval, var kalit so'zi o'zgaruvchilarni e'lon qilish uchun ishlatilgan. var blok ichidan ham chiqa oladi.
Misol:

```
var x = 10;
if (true) {
    var x = 20;
    console.log(x); // 20
}
console.log(x); // 20
```


- let

- ES6 bilan kiritilgan let kalit so'zi blokdan chiqa olmaydi. Bu esa o'zgaruvchining faqat blok ichida mavjudligini anglatadi.
Misol:

```
let y = 10;
if (true) {
    let y = 20;
    console.log(y); // 20
}
console.log(y); // 10
```


- const

- ES6 bilan kiritilgan const kalit so'zi ham blokdan chiqa olmaydi. const bilan e'lon qilingan o'zgaruvchining qiymati o'zgartirilmaydi.
Misol:

```
const z = 10;
// z = 20; // Xato: const o'zgaruvchining qiymatini o'zgartirish mumkin emas
```