Diskusi Alfonsus Falistyan Jayasaputra Waruwu

Selesai
Alfonsus Falistyan Jayasaputra Waruwu
Ditanyakan pada: Membuat Object Dengan Class

Ada beberapa pertanyaan

  1. Mengapa dalam class, dalam mendefinisikan function tidak menggunakan keyword "function":

function iniFungsi () {}

tetapi langsung:

iniFungsi () {}

dan kalo async apakah jadi seperti ini?

async function iniFungsi () {}

async iniFungsi () {}

  1. Mengapa dalam class yang sudah memiliki this masing menggunakan format seperti ini dalam mengambil propertynya: const {r, g, b} = this ? Mengapa tidak langsung melakukan pemanggilan ${this.r}, ${this.g}, ${this.b}?? Apakah apakah memang programmer javascript lebih familiar dengan sintaks yang const {r, g, b} = this??

  2. Dan apakah ada staticmethod atau classmethod seperti python dalam javascript?

2 Jawaban

Avatar
BroKoding

10 hari yang lalu

Halo kak, saya bantu jawab ya.

  1. Ketika mendefinisikan method dalam sebuah class, kita tidak wajib menggunakan keyword "function", karena penggunaan langsung nama method akan secara otomatis menambahkan method ke dalam prototipe class.
  2. Penggunaan destructuring assignment dengan const {r, g, b} = this adalah cara yang umum digunakan untuk mengekstrak nilai properti dari sebuah objek, membuat code lebih ringkas dan mudah dibaca.
  3. Bnear, javascript memiliki static method yang dapat didefinisikan dalam sebuah class dengan menambahkan keyword "static" sebelum definisi method, tetapi tidak ada konsep langsung seperti "classmethod" dalam python. Namun, kita bisa menggunakan static method dengan menambahkan parameter yang merujuk pada class itu sendiri untuk mencapai tujuan yang serupa.
Avatar
Muhammad Fakhry Burhanuddin

10 hari yang lalu

Jawaban Terpilih
  1. Karena desain bahasanya sendiri kak yang tidak mengharuskan menuliskan keyword function di dalam class.

Referensi: https://www.w3schools.com/js/js_classes.asp

https://forum.freecodecamp.org/t/why-cant-i-define-a-method-inside-a-class-with-the-keyword-function/445836/4

  1. Itu kembali kepada gaya penulisan saja.

  2. Untuk static ada kak. Bisa lihat https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/static