Objek dalam JavaScript adalah type data yang paling penting dan membentuk building blocks untuk JavaScript modern. Objek-objek ini sangat berbeda dari tipe data primitif JavaScript (Number, String, Boolean, null, undefined, dan simbol) dalam arti bahwa sementara tipe data primitif ini semuanya menyimpan satu nilai masing-masing (bergantung pada tipenya).
Seperti yang kita ketahui dari ada delapan tipe data dalam bahasa pemrograman JavaScript. Objek digunakan untuk menyimpan koleksi key dari berbagai data dan entitas yang lebih kompleks. Dalam JavaScript, objek menembus hampir setiap aspek bahasa. Jadi, kita harus memahaminya terlebih dahulu sebelum membahasnya secara mendalam Oject ini. Sebuah objek dibuat dengan tanda kurung siku {…} dengan list opsional property. Property adalah pasangan "key: value", di mana key adalah string (juga disebut "name property"), dan value bisa berupa apa saja. Untuk memahami definisi yang agak abstrak ini, mari kita lihat contoh Objek JavaScript:
Membuat Object dalam Javascript
Ada 3 cara untuk membuat objek.
- Dengan object literal (ini yang paling sering digunakan).
- Dengan membuat instance Object secara langsung (menggunakan kata kunci new).
- Dengan menggunakan object constructor (menggunakan kata kunci new).
1. Object literal
Sintaks Object literal menggunakan notasi {…} untuk menginisialisasi objek dan method / propertinya secara langsung.
Mari kita lihat contoh membuat objek menggunakan metode ini:
let Obj = {
key1 : value1,
key2 : value2,
method: function(){
//code...
}
}
key tersebut bisa apa saja - string, angka, fungsi, array, atau bahkan objek lainnya. Objek seperti ini disebut sebagai objek literal. Ini berbeda dari metode pembuatan objek lain yang melibatkan penggunaan constructor dan class atau prototype, yang akan dibahas di bawah ini.
2. Object constructor
Cara lain untuk membuat objek dalam JavaScript melibatkan penggunaan constructor "Object". constructor Objet membuat instance objek untuk nilai yang diberikan. Ini, digunakan bersama dengan kata kunci "new" memungkinkan kita untuk menginisialisasi objek baru.Contoh:
const school = new Object(); school.name = 'Coding School'; school.location = 'Indonesia'; school.established = 2020;
school.displayInfo = function(){ console.log(`${school.name} was established in ${school.established} at ${school.location}`); }
school.displayInfo(); //output : Coding School was established in 2020 at Indonesia
3. Object constructor
Di sini, kita hanya perlu membuat fungsi dengan argumen. Setiap nilai argumen dapat ditetapkan di objek saat ini dengan menggunakan kata kunci this.
Kata kunci this mengacu pada objek saat ini.
Kedua metode yang disebutkan di atas tidak cocok untuk program yang memerlukan pembuatan beberapa objek dari jenis yang sama karena ini akan melibatkan penulisan berulang kali baris kode.Untuk mengatasi masalah ini, kita dapat menggunakan dua metode pembuatan objek lain di JavaScript yang mengurangi beban ini secara signifikan, seperti yang disebutkan di bawah ini:
Constructor di JavaScript, seperti kebanyakan bahasa OOP lainnya, menyediakan template untuk pembuatan objek. Dengan kata lain, ini mendefinisikan sekumpulan property dan method yang umum untuk semua objek yang diinisialisasi menggunakan constructor.Mari kita lihat contohnya:
function Vehicle(name, maker) { this.name = name; this.maker = maker; }
let motor1 = new Vehicle('Honda', 'Soichiro'); let motor2 = new Vehicle('Yamaha', 'Hamamatsu')
console.log(motor1.name); // Output: Honda console.log(motor2.name); // Output: Yamaha
Perhatikan penggunaan kata kunci "new" sebelum function Vehicle. Menggunakan kata kunci "new" dengan cara ini sebelum fungsi apa pun mengubahnya menjadi constructor. Apa yang sebenarnya dilakukan "new Vehicle()" adalah:
Itu membuat objek baru dan menSet property constructor dari objek tersebut (Penting untuk diperhatikan bahwa properti ini adalah properti default khusus yang tidak dapat dihitung dan tidak dapat diubah dengan menSet properti "constructor: someFunction" secara manual).
Kemudian, ia menyiapkan objek untuk bekerja dengan objek prototype fungsi Vehicle (Setiap fungsi dalam JavaScript mendapatkan objek prototipe, yang awalnya hanya objek kosong tetapi dapat dimodifikasi. Objek, ketika dibuat instance-nya mewarisi semua properti dari objek prototipe konstruktornya ).
Kemudian memanggil Vehicle() dalam konteks objek baru, yang berarti bahwa ketika kata kunci "this" ditemukan di konstruktor (Vehicle()), this merujuk ke objek baru yang dibuat pada langkah pertama.
Objek yang baru dibuat di return ke motor1 dan motor2 (dalam contoh di atas).
Di dalam class, bisa ada metode khusus bernama constructor().class people { constructor() { this.name = "Adam"; } }
let person1 = new people();
// Output : Adam console.log(person1.name);
note: Memiliki lebih dari satu fungsi dalam kelas dengan nama constructor() akn menghasilkan error.
Mendefinisikan method dalam Objek JavaScript
Kita dapat mendefinisikan method dalam objek JavaScript. Tetapi sebelum mendefinisikan method, kita perlu menambahkan properti dalam fungsi dengan nama yang sama dengan method.
Contoh method dalam objek diberikan di bawah ini.
function emp(id,name,salary){ this.id=id; this.name=name; this.salary=salary; this.changeSalary=changeSalary; function changeSalary(otherSalary){ this.salary = otherSalary; } } let a = new emp(103,"Sonoo Jaiswal",30000); a.changeSalary()// output : 103 Sonoo Jaiswal 30000
//panggil fungsi a.changeSalary(45000);// 103 Sonoo Jaiswal 45000
thanks...
source:
Share This :
makasih bang
ReplyDelete