Langsung ke konten utama

Contoh Destructuring Object dalam Javascript

destructuring object pada ES6 sintaks menggunakan objek literal { } di sisi kiri dari operasi assignment.

  1. const profile = {

  2.     firstName: "John",

  3.     lastName: "Doe",

  4.     age: 18

  5. }

  6.  

  7. const {firstName, lastName, age} = profile;

  8.  

  9. console.log(firstName, lastName, age);

  10.  

  11. /* output:

  12. John Doe 18

  13. */


Pada contoh di atas tanda kurung kurawal { } merepresentasikan objek yang akan didestruksikan. Di dalamnya terdapat firstNamelastName, dan age yang merupakan variabel di mana kita menyimpan nilai properti dari objek profile. Kita juga perlu perhatikan penamaan variabel-variabelnya. Pastikan penamaannya sama seperti yang dimiliki oleh properti objeknya. Melalui nama variabel inilah nilai-nilai properti objek akan dimasukkan secara otomatis. Sehingga variabel firstName akan berisikan nilai profile.firstNamelastName akan berisikan nilai profile.lastName, begitu juga dengan variabel age akan berisikan nilai profile.age
Dalam destructuring object, kita bisa menspesifikasikan salah satu nilai yang ingin kita desktruksikan. Sehingga kita tidak perlu membuat variabel sebanyak properti yang dimiliki objeknya. contohnya:

  1. const {lastName} = profile;



Destructuring Assignment

Pada contoh sebelumnya kita melakukan destructuring object pada deklarasi variabel, namun pada kasus tertentu mungkin kita perlu melakukannya pada variabel yang sudah dideklarasikan. Atau kita ingin mengubah nilainya dengan nilai properti di objek. 
Dalam kasus tersebut, kita bisa melakukannya dengan seperti ini:

  1. const profile = {

  2.     firstName: "John",

  3.     lastName: "Doe",

  4.     age: 18

  5. }

  6.  

  7. let firstName = "Dimas";

  8. let age = 20;

  9.  

  10. // menginisialisasi nilai baru melalui object destruction

  11. ({firstName, age} = profile);

  12.  

  13. console.log(firstName);

  14. console.log(age);

  15.  

  16. /* output:

  17. John

  18. 18

  19. */


Saat melakukan destructuring assignment kita perlu menuliskan destructuring object di dalam tanda kurung. Jika tidak dituliskan di dalamnya, tanda buka kurung kurawal akan membuat JavaScript mengira kita membuat block statement, dan block statement tentu tidak bisa berada pada sisi kiri assignment

  1. // tidak bisa karena JavaScript mengira kita membuat block statement

  2. // block statement tidak bisa berada pada sisi kiri assignment

  3. {firstName, age} = profile;


Nah inilah fungsinya tanda kurung. Ia akan memberitahu JavaScript bahwa tanda kurawal yang di dalamnya bukan sebuah block statement, melainkan sebuah expression. Sehingga assignment dapat dilakukan.

  1. ({firstName, age} = profile);



Default Values

Ketika kita mendestruksikan objek dan kita menetapkan variabel dengan nama yang bukan merupakan properti dari objek, maka nilai dari variabel tersebut menjadi undefined. Contohnya:

  1. const profile = {

  2.     firstName: "John",

  3.     lastName: "Doe",

  4.     age: 18

  5. }

  6.  

  7.  

  8. const {firstName, age, isMale} = profile;

  9.  

  10. console.log(firstName)

  11. console.log(age)

  12. console.log(isMale)

  13.  

  14. /* output:

  15. John

  16. 18

  17. undefined

  18. */


Alternatifnya, kita bisa secara opsional mendefinisikan nilai default pada properti tertentu jika tidak ditemukan. Untuk melakukanya tambahkan tanda assignment (=) setelah nama variabel dan tentukan nilai defaultnya seperti ini:

  1. const profile = {

  2.     firstName: "John",

  3.     lastName: "Doe",

  4.     age: 18

  5. }

  6.  

  7.  

  8. const {firstName, age, isMale = false} = profile;

  9.  

  10. console.log(firstName)

  11. console.log(age)

  12. console.log(isMale)

  13.  

  14. /* output:

  15. John

  16. 18

  17. false

  18. */


Ketika menambahkan default value, jika properti tidak ditemukan nilai default akan diterapkan pada variabel.

Assigning to Different Local Variable Names

Sampai saat ini kita tahu bahwa untuk mendekstruksikan objek pada variabel lokal kita perlu menyeragamkan penamaan lokal variabel dengan properti objeknya. Namun sebenarnya dalam mendestruksikan objek kita bisa menggunakan penamaan variabel lokal yang berbeda. ES6 menyediakan sintaks tambahan yang membuat kita dapat melakukan hal tersebut. Penulisannya mirip seperti ketika kita membuat properti beserta nilainya pada objek. 
Contohnya seperti ini:

  1. const profile = {

  2.     firstName: "John",

  3.     lastName: "Doe",

  4.     age: 18

  5. }

  6.  

  7. const {firstName: localFirstName, lastName: localLastName, age: localAge} = profile;

  8.  

  9. console.log(localFirstName);

  10. console.log(localLastName);

  11. console.log(localAge);

  12.  

  13.  

  14. /* output:

  15. John

  16. Doe

  17. 18

  18. */


Postingan populer dari blog ini

Apa Itu JSON?

Setelah kita mengetahui apa itu Web API dan cara pengujiannya menggunakan Postman, sekarang saatnya kita mempelajari suatu format yang biasa digunakan dalam transaksi data menggunakan Web API, yaitu JSON. Jauh pada materi sebelumnya, atau jika Anda sudah mengikuti kelas  Belajar Dasar Pemrograman Web ,  tentunya Anda sudah mengenal dan menggunakan JSON bukan? Pada materi kali ini kita akan membahas JSON lebih detail lagi. JSON sendiri adalah singkatan dari JavaScript Object Notation. JSON merupakan format yang sering digunakan dalam pertukaran data. Saat ini JSON banyak diandalkan karena formatnya berbasis teks dan relatif mudah dibaca. Bukan hanya JavaScript, walaupun memiliki nama JavaScript Object Notation, format JSON ini dapat digunakan oleh hampir semua bahasa pemrograman yang ada. Jika Anda belajar fundamental dalam membangun aplikasi Android pada kelas Dicoding, baik menggunakan Kotlin ataupun Java, Anda akan berhadapan dengan JSON untuk transaksi datanya. Lalu seperti...

Constructor didalam Javascript

Deklarasi class menggunakan ES6 memiliki sifat yang sama seperti pembuatan class menggunakan  function constructor  (seperti contoh sebelumnya).  Namun alih-alih menggunakan  function constructor  dalam menginisialisasi propertinya, class ini memisahkan constructornya dan ditempatkan pada body class menggunakan method spesial yang dinamakan  constructor .  class Car {      constructor ( manufacture , color ) {          this . manufacture = manufacture ;          this . color = color ;          this . enginesActive =   false ;     } } constructor  biasanya hanya digunakan untuk menetapkan nilai awal pada properti berdasarkan nilai yang dikirimkan pada constructor. Namun sebenarnya kita juga dapat menuliskan logika di dalam constructor jika memang kita memerlukan beberapa kondisi sebelum nilai properti diinisialisasi. Kita juga melihat peng...

Cara mengaktifkan mode Picture-in-Picture di google chrome

Pada kesempatan kali ini saya akan share cara mengaktifkan mode Picture-in-Picture di google chrome. Yang di maksud mode Picture-in-Picture adalah memutar video pada jendela lain secara overlay / mengapung. Jadi dengan mengaktifkan mode Picture-in-Picture ini, anda bisa nonton video sembari melakukan aktifitas yang lainnya. Sebelumnya Apple sudah memperkenalkan mode Picture-in-Picture ini di