Jenis Data dalam JavaScript
Artikel ini menerangkan jenis data dalam JavaScript.
YouTube Video
Jenis Data dalam JavaScript
JavaScript mempunyai jenis data untuk mengklasifikasikan nilai, yang boleh dibahagikan secara kasar kepada jenis primitif dan jenis objek. Jenis data menentukan jenis data yang disimpan dalam pembolehubah dan mempengaruhi bagaimana ia boleh dimanipulasi.
Jenis Asas
Jenis primitif ialah jenis data ringkas yang mewakili satu nilai. JavaScript mempunyai 7 jenis primitif berikut.
number
1let num = 42;
2let pi = 3.14;
3
4console.log("Value of num:", num);
5console.log("Value of pi:", pi);numberialah jenis data yang digunakan untuk mengendalikan nilai angka, termasuk nombor bulat dan nombor perpuluhan (floating-point). Mengendalikan nilai yang melebihi had tertentu akan menghasilkanInfinityatauNaN(Bukan-Nombor).
1// Decimal calculations
2console.log(0.1 + 0.2 === 0.3); // false
3console.log(0.1 + 0.2); // 0.30000000000000004
4
5// Calculations with large numbers
6console.log(9007199254740991 + 1); // correct value
7console.log(9007199254740991 + 2); // incorrect value
- Dalam JavaScript, nombor diwakili sebagai nombor titik terapung. Akibatnya, perpuluhan tertentu (terutamanya yang tidak dapat diwakili dengan tepat dalam bentuk binari) mungkin tidak dinyatakan dengan tepat.
- Apabila pengiraan yang tepat diperlukan, seperti untuk nilai kewangan, adalah perlu untuk mengelakkan ralat pembundaran seperti itu. Sebagai contoh, anda boleh menggunakan
BigIntatau melaraskan bilangan tempat perpuluhan dengantoFixed().
string
1let greeting = "Hello, world!";
2let char = 'A';
3const message = `"${greeting}" in JavaScript`;
4
5console.log("Value of greeting:", greeting);
6console.log("Value of char:", char);
7console.log("Value of message:", message);stringialah jenis data yang digunakan untuk mengendalikan teks, yang mewakili satu siri aksara. Ia diwakili dengan menutup teks dalam petikan tunggal (') atau petikan dua ("). Bermula dari ES6, literal templat membolehkan penyisipan pembolehubah dengan mudah menggunakan backticks (). Untuk menyisipkan pembolehubah, gunakan sintaks${}.
boolean
1let isAvailable = true;
2let hasError = false;
3
4console.log("Value of isAvailable:", isAvailable);
5console.log("Value of hasError:", hasError);booleanmewakili nilai logik dan hanya boleh mempunyai dua nilai:trueataufalse. Ia digunakan sebagai hasil daripada ungkapan bersyarat atau sebagai bendera.
null
1let result = null;
2
3console.log("Value of result:", result);nullialah jenis data yang secara jelas menunjukkan 'tiada nilai'.nullditetapkan oleh pembangun untuk menunjukkan kekosongan yang disengajakan.
undefined
1let score;
2let subject = undefined;
3
4console.log("Value of score:", score); // undefined
5console.log("Value of subject:", subject);undefinedialah jenis data yang bermaksud 'tidak ditentukan'.undefineddiperuntukkan secara automatik apabila pembolehubah diisytiharkan tetapi tidak diberi nilai.
bigint
1let bigIntValue = 9007199254740991n;
2let anotherBigInt = 123456789012345678901234567890n;
3
4console.log("Value of bigIntValue:", bigIntValue);
5console.log("Value of anotherBigInt:", anotherBigInt);bigintadalah jenis data untuk mengendalikan integer besar.bigintmemungkinkan perwakilan yang tepat untuk integer besar yang tidak dapat diwakili oleh jenisnumber. Literalbigintdiwakili dengan menambahkanndi akhir angka.bigintadalah jenis untuk mengendalikan integer dengan ukuran sewenang-wenang, tanpa batasan jangkauan. Namun,bigintdannumbertidak boleh digunakan langsung bersama-sama, sehingga diperlukan kewaspadaan.
Symbol
1let sym1 = Symbol('id');
2let sym2 = Symbol('id');
3
4console.log("sym1 === sym2:", sym1 === sym2); // false
Symbolialah jenis data yang digunakan untuk mencipta pengecam unik. Ia dicipta menggunakanSymbol()dan boleh digunakan sebagai sifat suatu objek. Tidak seperti jenis primitif lain,Symbolmempunyai nilai unik, jadi walaupun dengan kandungan yang sama, ia dianggap sebagaiSymbolyang berbeza.
Jenis Objek
Jenis objek ialah struktur data yang boleh menyimpan pelbagai nilai. Objek ialah koleksi pasangan kunci-nilai dan boleh mempunyai sifat serta kaedah.
Object
1let person = {
2 name: "John",
3 age: 30,
4 isEmployee: true
5};
6console.log(person.name); // John
Objectialah koleksi sifat (pasangan kunci-nilai) yang boleh menyimpan pelbagai jenis data. Objek diwakili oleh kurungan keriting{}, dan setiap sifat dihubungkan oleh:antara kunci dan nilai.
Array
1let numbers = [10, 20, 30];
2console.log(numbers[0]); // 10
3console.log(numbers[1]); // 20
4console.log(numbers[2]); // 30
5console.log(numbers[3]); // undefined
Arrayialah senarai yang menyimpan pelbagai nilai secara teratur. Array diwakili oleh tanda kurungan petak[], dan nilai-nilai dipisahkan dengan koma,. Setiap elemen boleh diakses menggunakan indeks yang bermula dari 0.
Function
1function greet(name) {
2 return "Hello, " + name;
3}
4console.log(greet("Alice")); // Hello, Alice
- Fungsi ialah jenis objek dan blok kod yang boleh digunakan semula. Fungsi boleh ditakrifkan menggunakan kata kunci
function.
Jenis Objek Lain
- JavaScript juga mempunyai jenis objek terbina dalam seperti
Date,RegExp,Map, danSet. Ini menguruskan data mengikut kes penggunaan tertentu.
Penukaran Jenis
Penukaran jenis secara implisit dan eksplisit sering dilakukan dalam JavaScript.
Penukaran Jenis Implisit
- JavaScript mungkin secara automatik menukar jenis apabila melakukan operasi antara jenis yang berbeza.
1let result = 5 + "5"; // "55" (the number is converted to a string)
2
3console.log(result);- Dalam contoh ini, nombor
5ditukar secara implisit kepada rentetan, menghasilkan rentetan"55".
Penukaran Jenis Eksplisit
- Pembangun juga boleh melakukan penukaran jenis secara eksplisit.
1let num = "123";
2let convertedNum = Number(num); // Converts "123" to the number 123
3
4console.log(typeof num);
5console.log(typeof convertedNum);- Dalam contoh ini, fungsi
Number()digunakan untuk menukar rentetan"123"kepada nombor123secara eksplisit.
Pemeriksaan Jenis
Dalam JavaScript, anda boleh menggunakan operator typeof untuk memeriksa jenis data suatu pembolehubah.
1// Output: The type of 42 is: number
2console.log('The type of 42 is:', typeof 42);
3
4// Output: The type of 42 is: bigint
5console.log('The type of 42n is:', typeof 42n);
6
7// Output: The type of "hello" is: string
8console.log('The type of "hello" is:', typeof "hello");
9
10// Output: The type of true is: boolean
11console.log('The type of true is:', typeof true);
12
13// Output: The type of undefined is: undefined
14console.log('The type of undefined is:', typeof undefined);
15
16// Output: The type of null is: object
17console.log('The type of null is:', typeof null);
18
19// Output: The type of Symbol() is: symbol
20console.log('The type of Symbol() is:', typeof Symbol());
21
22// Output: The type of {} is: object
23console.log('The type of {} is:', typeof {});
24
25// Output: The type of function () {} is: function
26console.log('The type of function () {} is:', typeof function () {});Kesimpulan
- Jenis-jenis primitif termasuk
number,string,boolean,null,undefined, dansymbol. - Jenis-jenis objek termasuk
Object,Array,Function, dan lain-lain. - Oleh kerana kedua-dua penukaran jenis automatik dan eksplisit berlaku, adalah penting untuk memahami penggunaan jenis data yang betul.
Anda boleh mengikuti artikel di atas menggunakan Visual Studio Code di saluran YouTube kami. Sila lihat juga saluran YouTube kami.