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);
number
ialah jenis data yang digunakan untuk mengendalikan nilai angka, termasuk nombor bulat dan nombor perpuluhan (floating-point). Mengendalikan nilai yang melebihi had tertentu akan menghasilkanInfinity
atauNaN
(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
BigInt
atau 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);
string
ialah 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);
boolean
mewakili nilai logik dan hanya boleh mempunyai dua nilai:true
ataufalse
. Ia digunakan sebagai hasil daripada ungkapan bersyarat atau sebagai bendera.
null
1let result = null;
2
3console.log("Value of result:", result);
null
ialah jenis data yang secara jelas menunjukkan 'tiada nilai'.null
ditetapkan 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);
undefined
ialah jenis data yang bermaksud 'tidak ditentukan'.undefined
diperuntukkan 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);
bigint
adalah jenis data untuk mengendalikan integer besar.bigint
memungkinkan perwakilan yang tepat untuk integer besar yang tidak dapat diwakili oleh jenisnumber
. Literalbigint
diwakili dengan menambahkann
di akhir angka.bigint
adalah jenis untuk mengendalikan integer dengan ukuran sewenang-wenang, tanpa batasan jangkauan. Namun,bigint
dannumber
tidak 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
Symbol
ialah jenis data yang digunakan untuk mencipta pengecam unik. Ia dicipta menggunakanSymbol()
dan boleh digunakan sebagai sifat suatu objek. Tidak seperti jenis primitif lain,Symbol
mempunyai nilai unik, jadi walaupun dengan kandungan yang sama, ia dianggap sebagaiSymbol
yang 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
Object
ialah 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
Array
ialah 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
5
ditukar 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 nombor123
secara 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.