Jenis Data dalam JavaScript
Artikel ini menjelaskan jenis data dalam JavaScript.
YouTube Video
Jenis Data dalam JavaScript
JavaScript memiliki jenis data untuk mengklasifikasikan nilai, yang dapat dibagi secara luas menjadi jenis primitif dan jenis objek. Jenis data menentukan jenis data apa yang disimpan dalam variabel dan memengaruhi bagaimana data tersebut dapat dimanipulasi.
Tipe Primitif
Jenis primitif adalah jenis data sederhana yang merepresentasikan satu nilai. JavaScript memiliki 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
adalah jenis yang digunakan untuk menangani nilai numerik, termasuk bilangan bulat dan bilangan berbasis titik (desimal). Menangani nilai yang melebihi batas tertentu menghasilkanInfinity
atauNaN
(Not-a-Number).
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, angka direpresentasikan sebagai angka floating-point. Akibatnya, desimal tertentu (terutama yang tidak dapat direpresentasikan secara tepat dalam bentuk biner) mungkin tidak diekspresikan dengan akurat.
- Ketika perhitungan yang presisi diperlukan, seperti untuk nilai uang, penting untuk menghindari kesalahan pembulatan seperti itu. Sebagai contoh, Anda dapat menggunakan
BigInt
atau menyesuaikan jumlah angka desimal 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
adalah jenis data yang digunakan untuk menangani teks, merepresentasikan rangkaian karakter. Ini direpresentasikan dengan menyertakan teks dalam tanda kutip tunggal ('
) atau tanda kutip ganda ("). Mulai dari ES6, template literal memungkinkan penyisipan variabel dengan mudah menggunakan backtick (
). Untuk menyisipkan variabel, gunakan sintaks${}
.
boolean
1let isAvailable = true;
2let hasError = false;
3
4console.log("Value of isAvailable:", isAvailable);
5console.log("Value of hasError:", hasError);
boolean
merepresentasikan nilai logika dan hanya memiliki dua nilai:true
ataufalse
. Ini digunakan sebagai hasil dari ekspresi kondisional atau sebagai penanda (flag).
null
1let result = null;
2
3console.log("Value of result:", result);
null
adalah jenis data yang secara eksplisit menunjukkan 'tidak ada nilai.'.null
ditetapkan oleh pengembang untuk menunjukkan kekosongan yang disengaja.
undefined
1let score;
2let subject = undefined;
3
4console.log("Value of score:", score); // undefined
5console.log("Value of subject:", subject);
undefined
adalah jenis data yang berarti 'tak terdefinisi.'.undefined
secara otomatis diberikan ketika sebuah variabel dideklarasikan 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 tipe data untuk menangani bilangan bulat besar.bigint
memungkinkan representasi akurat dari bilangan bulat besar yang tidak dapat direpresentasikan oleh tipenumber
. Literalbigint
direpresentasikan dengan menambahkann
di akhir angka.bigint
adalah tipe untuk menangani bilangan bulat dengan ukuran sembarang, tanpa batasan rentang. Namun,bigint
dannumber
tidak dapat dioperasikan secara langsung bersama-sama, jadi perlu kehati-hatian.
Symbol
1let sym1 = Symbol('id');
2let sym2 = Symbol('id');
3
4console.log("sym1 === sym2:", sym1 === sym2); // false
Symbol
adalah tipe data yang digunakan untuk membuat pengenal unik. Ini dibuat menggunakanSymbol()
dan dapat digunakan sebagai properti dari sebuah objek. Berbeda dengan tipe primitif lainnya,Symbol
memiliki nilai unik, sehingga meskipun dengan konten yang sama, dianggap sebagaiSymbol
yang berbeda.
Tipe Objek
Tipe objek adalah struktur data yang dapat menyimpan beberapa nilai. Objek adalah kumpulan pasangan kunci-nilai dan dapat memiliki properti dan metode.
Object
1let person = {
2 name: "John",
3 age: 30,
4 isEmployee: true
5};
6console.log(person.name); // John
Object
adalah kumpulan properti (pasangan kunci-nilai) yang dapat menyimpan berbagai jenis data. Objek direpresentasikan dengan tanda kurung kurawal{}
, dan setiap properti dihubungkan dengan:
antara kunci dan nilainya.
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
adalah daftar yang menyimpan beberapa nilai dalam urutan tertentu. Array direpresentasikan dengan tanda kurung siku[]
, dan nilainya dipisahkan oleh koma,
. Setiap elemen diakses menggunakan indeks yang dimulai dari 0.
Function
1function greet(name) {
2 return "Hello, " + name;
3}
4console.log(greet("Alice")); // Hello, Alice
- Fungsi adalah tipe objek dan blok kode yang dapat digunakan kembali. Fungsi dapat didefinisikan menggunakan kata kunci
function
.
Tipe Objek Lainnya
- JavaScript juga memiliki tipe objek bawaan seperti
Date
,RegExp
,Map
, danSet
. Ini menangani data sesuai dengan kasus penggunaan tertentu.
Konversi Tipe
Konversi tipe secara implisit dan eksplisit sering dilakukan di JavaScript.
Konversi Tipe Implisit
- JavaScript mungkin secara otomatis mengonversi tipe data saat melakukan operasi antara tipe data yang berbeda.
1let result = 5 + "5"; // "55" (the number is converted to a string)
2
3console.log(result);
- Pada contoh ini, angka
5
secara implisit diubah menjadi string, menghasilkan string"55"
.
Konversi Tipe Eksplisit
- Pengembang juga dapat melakukan konversi tipe secara eksplisit.
1let num = "123";
2let convertedNum = Number(num); // Converts "123" to the number 123
3
4console.log(typeof num);
5console.log(typeof convertedNum);
- Pada contoh ini, fungsi
Number()
digunakan untuk secara eksplisit mengubah string"123"
menjadi angka123
.
Pengecekan Tipe
Di JavaScript, Anda dapat menggunakan operator typeof
untuk memeriksa tipe data dari sebuah variabel.
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
- Tipe primitif meliputi
number
,string
,boolean
,null
,undefined
, dansymbol
. - Tipe objek meliputi
Object
,Array
,Function
, dan lainnya. - Karena baik konversi tipe otomatis maupun eksplisit terjadi, penting untuk memahami penggunaan tipe data yang benar.
Anda dapat mengikuti artikel di atas menggunakan Visual Studio Code di saluran YouTube kami. Silakan periksa juga saluran YouTube kami.