Artikel ini membahas tentang tipe data pada Javascript beserta karakteristik uniknya. Javascript memiliki 7 tipe data, yaitu: null
, undefined
, boolean
, number
, bigint
, string
, dan symbol
(diperkenalkan di ES6). Serta satu tipe data kompleks bernama object
.
Javascript merupakan salah satu loosely typed language yang membuat variabelnya tidak terikat tipe data tertentu. Namun, nilai dari variabelnya lah yang memiliki tipe data tertentu.
Dengan kata lain, variabel yang sama bisa diisi dengan nilai yang berbeda tipe datanya. Contoh:
|
|
Untuk mengurangi kemungkinan membuat error, sebaiknya suatu variabel memiliki nilai yang konsisten tipe datanya.
Cek Tipe Data Javascript
Pengecekan tipe data dari nilai suatu variabel dapat dilakukan dengan menggunakan operator typeof
. Contoh:
|
|
Undefined
Undefined adalah tipe data primitive yang nilainya undefined
atau tidak terdefinisikan. Tipe data ini adalah merupakan tipe data default
untuk variabel yang dideklarasikan tanpa nilai. Contoh:
|
|
Uniknya, variabel yang belum dideklarasikan juga akan bertipe undefined jika dicek oleh operator typeof
, seperti contoh berikut:
|
|
Null
Null adalah tipe data primitive yang nilainya null
. Perbedaan nilai null
dan undefined
terletak pada tipenya, null
merupakan pointer untuk object yang kosong sehingga ketika dicek menggunakan operator typeof
hasil outputnya yaitu object
. Contoh:
|
|
Nilai null
biasanya didapatkan dari response server yang berupa JSON.
Number
Number adalah tipe data yang mewakili seluruh tipe data angka, seperti integer (bilangan bulat) dan floating point atau desimal. Contoh:
|
|
Rentang nilai yang bisa ditampung oleh tipe data number yakni antara -(2^53 - 1)
dan 2^53 - 1
atau -9007199254740991 sampai 9007199254740991. Jika sebuah number memiliki nilai lebih dari rentang ini, maka sebaiknya menggunakan tipe data BigInt.
NaN
NaN atau Not a Number adalah nilai numeric yang spesial. Digunakan untuk memberitahu bahwa nilai dari variabel tersebut adalah invalid number atau bukan termasuk angka. Contoh:
|
|
NaN pada contoh di atas didapatkan karena operator matematika tidak berlaku untuk string.
Keunikan dari nilai NaN
yaitu:
- Operasi matematika pada
NaN
akan menghasilkanNaN
- Operasi perbandingan tidak dapat dilakukan pada nilai
NaN
dan akan menghasilkan nilaifalse
.
Contoh:
|
|
String
String pada Javascript adalah tipe data yang berhubungan dengan karakter. String terdiri dari satu atau lebih karakter yang dibatasi oleh simbol petik ' '
, petik dua " "
, ataupun backtick ``
.
Contoh penggunaan string Javascript:
|
|
Dikarenakan string merupakan kumpulan dari satu atau lebih karakter, maka kita bisa mencari panjang string dan melakukan perulangan layaknya array. Seperti contoh berikut ini:
|
|
|
|
Boolean
boolean adalah tipe data yang hanya memiliki dua nilai, yakni true
dan false
dalam huruf kecil.
Berikut ini contoh deklarasi variabel dengan tipe data boolean:
|
|
Object
Tipe data object
pada Javascript merupakan tipe data kompleks yang berisi kumpulan properti (props), setiap properti berisi pasangan key:value
.
Berikut ini contoh dari object kosong yang dibuat dengan menggunakan object literal
:
|
|
Dan ini contoh dari object user
dengan propertinya:
|
|
Nama properti bisa berupa string dengan kriteria penamaan mengikuti Aturan Penamaan Identifier. Jika suatu hal membuat kita perlu menggunakan nama dengan tanda -
seperti first-name
, maka kita bisa menulisnya dengan menggunakan tanda kutip 'first-name'
.
Jika object memiliki lebih dari sebuah properti maka pisahkan dengan tanda koma (,
).
Value dari properti bisa berupa object lain, hal ini disebut dengan nested object. Contoh:
|
|
Object user di atas terdiri dari properti firstName
, lastName
, email
, phone
, dan address
.
Properti address
sendiri terdiri dari sebuah object yang didalamnya terdapat properti city
, state
, dan country
.
Cara Akses Properti Object
Terdapat dua cara untuk mengakses properti dari sebuah object. Cara pertama menggunakan format namaObject.namaProperti
dan cara kedua menggunakan format array []
contohnya namaObject['namaProperti']
.
Contoh:
|
|
Jika kita ingin mengakses nested object, maka tambahkan titik ataupun akses array lagi seperti ini:
|
|
Error Akses Properti Object
Jika kita mengakses properti yang tidak ada di dalam object, maka akan menghasilkan error undefined
tanpa menghentikan jalannya kode.
|
|
namun jika kita mengakses properti nested dari properti lainnya, maka akan menghasilkan error yang menghentikan jalannya kode.
|
|
Method pada Object
Properti pada object tidak hanya diisi dengan tipe data primitive maupun collection (array dan object), namun juga bisa diisi dengan fungsi. Fungsi yang menjadi value dari properti object dinamakan method.
Cara pemanggilan method dari suatu object sama dengan pemanggilan properti lainnya yakni dengan format sebagai berikut: namaObject.namaMethod()
.
|
|
Pembahasan lebih lanjut mengenai object akan dipublikasikan pada artikel lainnya.