Jenis Data dalam JavaScript

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 menghasilkan Infinity atau NaN (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 dengan toFixed().

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 atau false. 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 jenis number. Literal bigint diwakili dengan menambahkan n di akhir angka.
  • bigint adalah jenis untuk mengendalikan integer dengan ukuran sewenang-wenang, tanpa batasan jangkauan. Namun, bigint dan number 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 menggunakan Symbol() dan boleh digunakan sebagai sifat suatu objek. Tidak seperti jenis primitif lain, Symbol mempunyai nilai unik, jadi walaupun dengan kandungan yang sama, ia dianggap sebagai Symbol 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, dan Set. 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 nombor 123 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, dan symbol.
  • 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.

YouTube Video