EP 78

Ngobrolin OOP di JS - Ngobrolin WEB

Bagikan:

Yuk mari kita diskusi dan ngobrol ngalor-ngidul tentang dunia web. Agar tetap up-to-date dengan teknologi web terkini. Topik, tautan dan pertanyaan menarik bisa dilayangkan ke https://ksana.in/ngobrolinweb Kunjungi https://ngobrol.in untuk catatan, tautan dan informasi topik lainnya.

Ringkasan Episode

Bantu Koreksi

Episode ini membahas Object-Oriented Programming (OOP) di JavaScript secara mendalam, dimulai dari konsep dasar prototype, class, inheritance, hingga perbedaan antara paradigma OOP dan fungsional. Host Ivan yang sedang berada di Yunani dan pembicara lain membahas artikel dari Kensho.dot yang membandingkan penggunaan class dan function, termasuk kelebihan dan kekurangan masing-masing pendekatan. Diskusi juga menyentuh tantangan JavaScript yang sering disalahartikan karena sejarahnya yang dibuat dalam waktu singkat (10 hari) oleh Brendan Eich untuk keperluan sederhana di browser, namun kemudian berkembang menjadi bahasa yang digunakan di berbagai platform. Topik lain yang dibahas meliputi masalah `this` context yang sering membingungkan developer, penggunaan private properties dengan hashtag syntax, module pattern, serta perbandingan performa antara penggunaan class dan object literal. Episode ini juga menyinggung tentang masa depan JavaScript dan bahasa-bahasa yang meng-compile ke JavaScript seperti TypeScript, ReScript, dan PureScript, serta tantangan backward compatibility yang harus dipertahankan oleh JavaScript karena digunakan di berbagai browser.

Poin-poin Utama

  • JavaScript awalnya diciptakan oleh Brendan Eich dengan pengaruh bahasa Scheme (functional programming), namun dipaksa meniru sintaks Java untuk kepentingan marketing Netscape
  • JavaScript itu multi-paradigma - bisa functional, OOP, atau prosedural, bukan murni OOP seperti Java
  • OOP di JavaScript itu prototype-based, bukan class-based seperti Java atau C++
  • Sebelum ES6 (2015), JavaScript belum memiliki keyword `class` - orang membuat kelas menggunakan function dan prototype
  • Keyword `class` di ES6 sebenarnya hanya syntactic sugar - di belakang layar tetap menggunakan prototype-based approach
  • Masalah umum di JavaScript OOP adalah penggunaan `this` yang konteksnya bisa berubah tergantung bagaimana fungsi dipanggil
  • JavaScript banyak memiliki keanehan karena harus menjaga backward compatibility - kode JavaScript zaman dulu harus tetap bisa jalan di browser modern

Suka episode ini?

Langganan untuk update episode terbaru setiap Selasa malam!

Langganan Sekarang

Episode Terkait

Ngobrolin Fungsional JS - Ngobrolin WEB
EP 71

27 Feb 2024

Ngobrolin Fungsional JS - Ngobrolin WEB

Yuk mari kita diskusi dan ngobrol ngalor-ngidul tentang dunia web. Agar tetap up-to-date dengan teknologi web terkini. ...

Ngobrolin Deno - Ngobrolin WEB
EP 100

8 Okt 2024

Ngobrolin Deno - Ngobrolin WEB

Yuk mari kita diskusi dan ngobrol ngalor-ngidul tentang dunia web. Agar tetap up-to-date dengan teknologi web terkini. ...

Ngobrolin Slide - Ngobrolin WEB
EP 105

13 Nov 2024

Ngobrolin Slide - Ngobrolin WEB

Yuk mari kita diskusi dan ngobrol ngalor-ngidul tentang dunia web. Agar tetap up-to-date dengan teknologi web terkini. ...

Komentar