Tipe Data adalah pembagian jenis data yang memberitahu program bagaimana sebuah data seharusnya diperlakukan.
Di dalam JavaScript, terdapat dua klasifikasi yakni Primitif dan Object.
- Primitif: Tipe data yang sederhana dan hanya memiliki satu jenis tipe data.
- Object: Merupakan tipe data yang kompleks dan dapat memuat berbagai jenis tipe data.
String
string
termasuk kedalam tipe data primitif.
Cara mendeklarasikan string
adalah sebagai berikut:
const myString = "My string"; // String dengan tanda petik dua
const otherString = `12`; // String dengan backtick
Tipe data string
umumnya digunakan untuk menyimpan data berupa kata ataupun kalimat dalam sebuah baris program.
Terkadang dapat juga menyimpan angka serta data lain yang berbasis teks.
Number
number
termasuk kedalam tipe data yang primitif. number
dapat langsung ditulis menggunakan angka seperti kode berikut:
const myNumber = 1937;
const otherNumber = 42;
Mungkin ada pertanyaan mengenai tipe data ini, misalnya seperti: Mengapa harus ada tipe data number
sementara string
juga dapat menyimpan data berupa angka?
Nah, salah satu alasannya adalah karena tipe data string
tidak bisa melakukan operasi matematik, seperti pertambahan misalnya.
Mari kita lihat perbedaan tipe data string
dan tipe data number
:
const string = "1" + "2"; // Hasilnya adalah 12
const number = 1 + 2; // Hasilnya adalah 3
Undefined
Undefined
adalah tipe data yang juga primitif. Biasanya nilai undefined
ada ketika kita mendeklarasikan sebuah variabel namun tidak memberikannya nilai. Seperti dibawah ini:
let a;
console.log(a) // undefined
Perlu diketahui disini console.log
hanya perintah untuk menampilkan output. Nah, mengapa variabel di atas menggunakan let
dan bukan const
?
Ini karena const
adalah variabel yang tidak bisa di deklarasikan ulang. Kamu bisa membacanya disini.
const b;
b = 12 // Uncaught SyntaxError: Missing initializer in const declaration
Null
Di dalam JavaScript, null
yang juga primitif dapat berarti nilai yang tidak ada atau tidak diketahui.
Boolean
boolean
merupakan tipe data yang hanya mempunyai dua nilai: true
dan false
. Tipe data ini biasanya digunakan untuk membangun logika dari sebuah kode program.
if (true) {
// jalankan ini jika true
}
else {
// jalankan ini jika false
}
Symbol
Jika ingin tipe data yang unik, kita bisa menggunakan symbol
. Perhatikan kode berikut:
const symbol1 = Symbol('ini adalah symbol');
Keyword Symbol
di atas adalah penanda bahwa data ini akan bertipe symbol
, sementara tulisan 'ini adalah symbol'
merupakan deskripsi dari symbol
itu sendiri.
Kita bisa membuktikannya dengan cara seperti dibawah ini:
const symbol2 = Symbol('ini adalah symbol');
console.log(symbol2.description) // ini adalah symbol
Setiap symbol
memiliki nilai yang berbeda, meski dengan deskripsi yang sama.
// Kedua variabel yang kita deklarasikan di awal ternyata mempunyai nilai yang berbeda
symbol1 === symbol2 // false
// Bahkan dua symbol yang dibuat secara bersamaan tetap mempunyai nilai berbeda
Symbol() === Symbol() // false
Seperti yang ada pada kode diatas, symbol
dapat di deklarasikan dengan deskripsi (Symbol('deskripsi'
) atau tanpa deskripsi (Symbol()
).
Object
Karena object
mampu menyimpan berbagai jenis tipe data, maka object
tidak termasuk ke dalam tipe data yang primitif. Cara membuat sebuah object
adalah dengan mendeklarasikan variabel yang berisi tanda {}
. Di dalam tanda {}
, kita dapat memberikan key
dan value
.Perhatikan kode berikut ini:
const objectType = { name: 'PHP', isPrimitive: true };
Seperti yang telah kita lihat, object
dapat berisi string
dan juga boolean
. Pada kode di atas, name
dan isPrimitive
adalah key
sementara 'PHP'
dan true
adalah value
.
Kesimpulan
Dengan adanya berbagai jenis tipe data, membuat kita lebih leluasa dalam menjalankan alur program. Masing-masing tipe data juga mempunyai peran penting dalam sebuah bahasa pemrograman.
Lalu mengenai klasifikasi, bagaimana cara kita memastikan bahwa string
adalah data yang benar-benar bertipe string
, atau undefined
adalah data yang benar-benar bertipe undefined
? Darimanakah kita mengetahui hal tersebut?
Nah, semua pertanyaan ini akan terjawab pada artikel berikutnya...
Stay tune!
Top comments (0)