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);numberadalah jenis yang digunakan untuk menangani nilai numerik, termasuk bilangan bulat dan bilangan berbasis titik (desimal). Menangani nilai yang melebihi batas tertentu menghasilkanInfinityatauNaN(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
BigIntatau 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);stringadalah 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);booleanmerepresentasikan nilai logika dan hanya memiliki dua nilai:trueataufalse. Ini digunakan sebagai hasil dari ekspresi kondisional atau sebagai penanda (flag).
null
1let result = null;
2
3console.log("Value of result:", result);nulladalah jenis data yang secara eksplisit menunjukkan 'tidak ada nilai.'.nullditetapkan 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);undefinedadalah jenis data yang berarti 'tak terdefinisi.'.undefinedsecara 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);bigintadalah tipe data untuk menangani bilangan bulat besar.bigintmemungkinkan representasi akurat dari bilangan bulat besar yang tidak dapat direpresentasikan oleh tipenumber. Literalbigintdirepresentasikan dengan menambahkanndi akhir angka.bigintadalah tipe untuk menangani bilangan bulat dengan ukuran sembarang, tanpa batasan rentang. Namun,bigintdannumbertidak 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
Symboladalah tipe data yang digunakan untuk membuat pengenal unik. Ini dibuat menggunakanSymbol()dan dapat digunakan sebagai properti dari sebuah objek. Berbeda dengan tipe primitif lainnya,Symbolmemiliki nilai unik, sehingga meskipun dengan konten yang sama, dianggap sebagaiSymbolyang 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
Objectadalah 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
Arrayadalah 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
5secara 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.