Tipe Data dalam JavaScript
www.gurudzgn.com - Sebelum kita memahami lebih dalam mengenai tipe data dalam JavaScript, penting untuk mengerti apa itu tipe data. Tipe data adalah klasifikasi nilai yang menunjukkan jenis informasi yang dapat diperlakukan dan diolah oleh komputer. Di dalam setiap bahasa pemrograman, termasuk JavaScript, tipe data memainkan peran krusial dalam pengelolaan variabel dan operasi data.
Tipe Data dalam JavaScript
Dalam JavaScript, terdapat dua kategori utama tipe data: tipe data primitif dan tipe data referensi. Tipe data primitif mencakup angka, teks, boolean, null, undefined, dan symbol. Sementara itu, tipe data referensi mencakup objek, array, fungsi, tanggal, dan regular expression.
Tipe Data Primitif
Tipe data primitif merupakan tipe data sederhana yang mewakili nilai tunggal. JavaScript memiliki lima tipe data primitif berikut:
Angka (Number)
Tipe data angka digunakan untuk mewakili nilai numerik. Baik angka bulat maupun angka desimal dapat dinyatakan dalam tipe data ini.
Contohnya:
let umur = 25;
let beratBadan = 68.5;
Teks (String)
Tipe data teks digunakan untuk mewakili sekumpulan karakter atau teks. Untuk mendefinisikan tipe data string, kita menggunakan tanda kutip tunggal (' ') atau tanda kutip ganda (" ").
Contohnya:
let nama = "Anisa Fitri";
let alamat = 'Jl. Jendral Sudirman No. 123';
Boolean
Tipe data boolean hanya memiliki dua nilai, yaitu true (benar) dan false (salah). Tipe data ini digunakan untuk ekspresi logika dan pengambilan keputusan berdasarkan kondisi.
Contohnya:
let benar = true;
let salah = false;
Null
Tipe data null digunakan untuk menyatakan bahwa sebuah variabel tidak memiliki nilai atau tidak menunjuk ke objek apapun. Ketika sebuah variabel dideklarasikan dengan nilai null, berarti variabel tersebut sengaja diberi nilai kosong.
Contohnya:
let data = null;
Undefined
Tipe data undefined digunakan untuk menyatakan bahwa sebuah variabel belum diberi nilai atau belum dideklarasikan. Jika kita mencoba mengakses variabel yang belum diberi nilai, JavaScript akan mengembalikan nilai undefined.
Contohnya:
let x;
console.log(x); // Output: undefined
Symbol
Tipe data symbol diperkenalkan dalam ECMAScript 6 (ES6). Symbol digunakan untuk membuat nilai yang unik dan tidak dapat diubah. Ini berguna saat kita ingin menggunakan properti kustom dalam objek yang dijamin tidak akan bertabrakan dengan properti lainnya.
Contohnya:
const id = Symbol('id');
const user = {
[id]: 123,
name: 'Rafiqi',
};
Tipe Data Referensi
Tipe data referensi digunakan untuk mewakili nilai yang lebih kompleks, seperti objek, array, fungsi, tanggal, dan regular expression. Tipe data referensi bersifat mutable, artinya nilai-nilai yang di dalamnya dapat diubah. Berikut adalah penjelasan tentang masing-masing tipe data referensi:
Objek (Object)
Objek adalah struktur data yang kompleks dan dapat menyimpan beberapa nilai sebagai properti dan metode. Properti dalam objek adalah pasangan key-value (kunci-nilai). Untuk membuat objek dalam JavaScript, kita dapat menggunakan notasi objek literal atau konstruktor objek.
Contohnya:
const person = {
name: 'Anisa Fitri',
age: 25,
address: 'Jl. Jendral Sudirman No. 123',
getInfo: function() {
return this.name + ', ' + this.age + ' tahun, tinggal di ' + this.address;
}
};
Array
const fruits = ['apel', 'pisang', 'jeruk'];
const numbers = new Array(1, 2, 3, 4, 5);
const mixedArray = ['Anisa Fitri', 20, true, { city: 'Palembang', country: 'Indonesia' }];
console.log(fruits[0]); // Output: 'apel'
console.log(numbers[2]); // Output: 3
console.log(mixedArray[3].city); // Output: 'Palembang'
Fungsi (Function)
function greet(name) {
return 'Hello, ' + name + '!';
}
const greeting = greet('Anisa Fitri');
console.log(greeting); // Output: 'Hello, Anisa Fitri!'
Tanggal (Date)
const today = new Date();
console.log(today); // Output: menyesuaikan dengan jam perangkat anda
const specificDate = new Date(2023, 6, 20); // Bulan dihitung mulai dari 0 (Januari)
console.log(specificDate); // Output: menyesuaikan dengan jam perangkat anda
RegExp (Regular Expression)
const pattern = /hello/gi; // g: global, i: case-insensitive
Konversi Tipe Data
Konversi ke String
const number = 42;
const stringNumber = number.toString();
console.log(typeof stringNumber); // Output: 'string'
const booleanValue = true;
const stringBoolean = String(booleanValue);
console.log(typeof stringBoolean); // Output: 'string'
Konversi ke Number
const numericString = '42';
const integerNumber = parseInt(numericString);
console.log(typeof integerNumber); // Output: 'number'
const decimalString = '3.14';
const floatNumber = parseFloat(decimalString);
console.log(typeof floatNumber); // Output: 'number'
Konversi ke Boolean
const numberValue = 42;
const booleanNumber = Boolean(numberValue);
console.log(booleanNumber); // Output: true
const stringValue = '';
const booleanString = Boolean(stringValue);
console.log(booleanString); // Output: false
Operasi pada Tipe Data
Operasi pada Tipe Data Primitif
const num1 = 10;
const num2 = 5;
const addition = num1 + num2;
console.log(addition); // Output: 15
const multiplication = num1 * num2;
console.log(multiplication); // Output: 50
const firstName = 'Anisa';
const lastName = 'Fitri';
const fullName = firstName + ' ' + lastName;
console.log(fullName); // Output: 'Anisa Fitri'
const x = true;
const y = false;
const andResult = x && y;
console.log(andResult); // Output: false
const orResult = x || y;
console.log(orResult); // Output: true
const num1 = 10;
const num2 = 5;
const isEqual = num1 === num2;
console.log(isEqual); // Output: false
const isGreater = num1 > num2;
console.log(isGreater); // Output: true
Operasi pada Tipe Data Referensi
const person = {
name: 'Anisa Fitri',
age: 23,
};
console.log(person.name); // Output: 'Anisa Fitri'
person.age = 25;
console.log(person.age); // Output: 25
const fruits = ['apel', 'pisang', 'jeruk'];
fruits.push('anggur');
console.log(fruits); // Output: ['apel', 'pisang', 'jeruk', 'anggur']
fruits.pop();
console.log(fruits); // Output: ['apel', 'pisang', 'jeruk']
const person = {
name: 'Anisa Fitri',
age: 25,
greet: function() {
return 'Hello, nama saya adalah ' + this.name + ' dan saya berumur ' + this.age + ' tahun.';
}
};
console.log(person.greet()); // Output: 'Hello, nama saya adalah Anisa Fitri dan saya berumur 25 tahun.'