Bagaimana saya menjadi ahli javascript?

Apakah Anda ingin meningkatkan keterampilan JavaScript—atau hanya ingin tahu apa yang diperlukan untuk menjadi pengembang JavaScript yang lebih baik? . untuk pengembang, sebagian besar karena itu adalah bahasa browser. Jika sebuah aplikasi menggunakan web, itu menggunakan JavaScript. Dan jika Anda menggunakan JavaScript—dan Anda ahli dalam hal itu—Anda benar-benar dapat meningkatkan karier Anda

Anda juga harus mencoba menjadi lebih baik dalam JavaScript karena Anda suka bekerja dengan bahasa tersebut, bukan hanya untuk alasan profesional. Jika Anda seperti saya (saya mulai menulis Ruby), Anda mungkin menganggap JavaScript mengintimidasi pada awalnya—atau bahkan benci menulisnya. Untungnya, semakin saya bekerja dengan JavaScript, semakin saya menikmatinya

Jadi bagaimana Anda bisa menjadi lebih baik di JavaScript? . Berikut adalah beberapa hal yang benar-benar membantu saya meningkatkan keterampilan JavaScript saya—dan semoga tips ini juga akan membantu Anda dalam perjalanan Anda. Jika Anda baru mengenal JavaScript, Anda dapat mulai belajar bahasa dengan kurikulum Pengantar Pemrograman Epicodus gratis atau freecodecamp. kursus JavaScript com

Namun, jika Anda semakin jauh dalam perjalanan Anda, inilah yang dapat Anda lakukan selanjutnya

1. Dapatkan fungsional

Banyak pengembang JavaScript menggunakan JavaScript untuk pemrograman berorientasi objek (OOP), terutama pengembang yang berasal dari bahasa berorientasi objek seperti Ruby atau C#. Jika latar belakang Anda dalam OOP dan Anda belum mempelajari pemrograman fungsional, saatnya untuk memulai. Ini bukan perdebatan tentang apakah pemrograman fungsional atau berorientasi objek lebih baik. Keduanya adalah cara pemrograman yang sangat kuat dalam JavaScript, yang berarti Anda harus mengetahui keduanya. Karena pemrograman fungsional lebih abstrak dan seringkali lebih menantang bagi pembuat kode pemula, adalah hal yang umum bagi pengembang—bahkan pengembang tingkat menengah—tidak terlalu paham dengan paradigma

Saya pasti menemukan pemrograman fungsional sangat menakutkan pada awalnya. Tetapi ketika saya belajar lebih banyak, saya semakin menyukai pendekatan fungsional. Nyatanya, menulis kurikulum Pemrograman Fungsional Dengan JavaScript di Epicodus adalah salah satu hal paling menyenangkan yang pernah saya lakukan di tempat kerja. Dan hanya mempelajari dasar-dasar pemrograman fungsional terasa seperti salah satu peningkatan level terkuat yang pernah saya alami sebagai pembuat kode

Paling tidak, Anda harus memahami konsep-konsep berikut

  • Kekekalan
  • Fungsi murni
  • Komposisi
  • Penutupan
  • Kari
  • Pengulangan

Anda juga harus benar-benar terbiasa dengan metode fungsional yang paling kuat di JavaScript, khususnya map(), reduce(), dan filter()

Pemrograman fungsional adalah cara berpikir. Sementara pemrograman berorientasi tujuan berarti Anda sering mengubah keadaan objek, dengan pemrograman fungsional, Anda harus memikirkan tentang kekekalan sebanyak mungkin. Dengan kata lain, jangan mengubah keadaan. Bahkan jika Anda seorang pemrogram berorientasi objek, membatasi perubahan status akan menghasilkan kode yang lebih baik dan lebih bersih. Dan jika Anda masuk ke JavaScript sebagai pemrogram fungsional tanpa latar belakang pemrograman berorientasi objek, jangan abaikan OOP

2. Ikuti terus spesifikasi terbaru

Pertama, sebaiknya Anda tidak menggunakan var lagi. Paling tidak, Anda harus memahami semua fitur dari ES6 (juga dikenal sebagai ES 2015), termasuk mendeklarasikan variabel dengan let dan const. Anda mungkin tidak menggunakan peta ES6 dan menetapkan banyak, tetapi janji adalah fitur lain yang perlu diketahui. ES6 juga membuat modulasi kode Anda lebih mudah dengan pernyataan impor dan ekspor

Dan hanya dengan mengikuti perkembangan ES6, yang keluar pada tahun 2015, adalah batasan yang rendah untuk diselesaikan. Berikut adalah beberapa contoh fitur yang harus Anda ketahui dari spesifikasi selanjutnya

  • Fungsi asinkron dari ES2017 (ES8)
  • Objek istirahat/sebarkan properti dari ES2018 (ES9)

Jangan khawatir tentang mencoba menghafal semuanya—untuk itulah dokumentasi. Hanya membiasakan diri dengan spesifikasi adalah awal yang baik

JavaScript mulai memperbarui spesifikasinya setiap tahun dimulai dengan ES6 pada tahun 2015. (ES5 keluar pada tahun 2009. ) Jika Anda belum melakukannya, periksa spesifikasi untuk beberapa tahun terakhir—misalnya, Anda dapat melakukan penelusuran Google untuk ES11 (juga dikenal sebagai ES2020). ES2020 menawarkan metode Promise.allSettled()_, tambahan yang bagus untuk prototipe Promise. Dan semakin banyak Anda tahu tentang janji, semakin baik

Anda tidak perlu membaca tentang perubahan yang diusulkan untuk spesifikasi ES di masa mendatang kecuali Anda benar-benar ingin menjadi yang terdepan. Pastikan Anda mengikuti perubahan terbaru pada JavaScript, yang berarti segalanya mulai dari ES2015

3. Rangkullah asinkron

Ya, asinkron memang sulit, tetapi tidak sesulit dulu. Jika Anda masih berada di callback hell (macet di ES5), Anda mungkin tidak cukup menggunakan fungsi promise dan async. Selain memahami cara menulis panggilan balik (jika Anda memulai sebagai pengembang setelah masa lalu neraka panggilan balik), Anda harus tahu cara menggunakan alat berikut untuk asinkron

  • Promise, termasuk Fetch API untuk membuat permintaan HTTP
  • Async/menunggu, yang merupakan gula sintaksis untuk janji
  • Bonus. Generator dan yang dapat diamati memungkinkan Anda menjalankan kode asinkron dari waktu ke waktu, tidak seperti janji, yang hanya dapat diselesaikan sekali. Observables belum ada di JavaScript (mereka masih dalam tahap yang diusulkan), tetapi perpustakaan RxJS menyediakan semua yang Anda butuhkan untuk menjelajahi observasi lebih jauh. Dan perpustakaan RxJS sangat menyenangkan. Lebih keren lagi, Anda bisa pergi ke rxjs. dev, buka konsol, dan RxJS sudah dimuat sebelumnya—yang berarti Anda dapat bermain-main dengan yang dapat diamati di konsol tanpa menyiapkan apa pun di lingkungan Anda

4. Ketahui di mana bahasa berakhir dan kerangka kerja dimulai

Saya masuk ke React pada saat JavaScript benar-benar memikat saya. Tentu, saya memahami JavaScript jauh lebih baik saat itu, tetapi saya juga ingin memastikan bahwa saya tahu di mana bahasa berakhir dan fitur khusus React dimulai. Bereaksi lebih ramping daripada kerangka kerja seperti Angular dan Ember, yang merupakan salah satu dari banyak alasan mengapa ini menjadi kerangka kerja favorit saya. Ini juga jauh lebih mudah untuk memisahkan kerangka kerja dari kode JavaScript biasa. Itu berarti Anda tahu apakah Anda sedang menulis JavaScript biasa atau benar-benar menggunakan fitur yang disediakan perpustakaan React

Jika Anda menggunakan framework, pastikan Anda tahu kapan Anda menggunakan JavaScript dan kapan Anda menggunakan framework. Jangan hanya mengikuti tutorial dan kemudian tidak memisahkan keduanya. Ini adalah masalah besar bagi beberapa pengembang yang masuk ke Ruby on Rails tanpa mempelajari Ruby—mereka tidak benar-benar memahami apa yang dapat mereka lakukan dengan Ruby dan bagaimana hal itu terpisah dari framework Rails. Dan ini bisa menjadi masalah dengan kerangka kerja berpendirian secara umum. Ketika kerangka kerja memberi tahu Anda cara melakukan sesuatu, itu bagus untuk pemula, tetapi itu juga berarti Anda mempelajari cara kerangka kerja melakukan sesuatu, yang mungkin tidak berlaku untuk alat lain yang Anda pelajari. Sebaliknya, Bereaksi adalah unopinionated. Itu berarti Anda harus menghabiskan lebih banyak waktu untuk memikirkan praktik terbaik, tetapi itu juga berarti Anda juga dapat menerapkan praktik terbaik tersebut dengan aplikasi JavaScript lainnya

Anda harus merasa nyaman dengan JavaScript sebelum terjun ke kerangka pembelajaran. Dan saat Anda mempelajari kerangka kerja baru, pikirkan tentang bagaimana Anda dapat menerapkan konsep baru di luar kerangka kerja yang Anda pelajari—apakah itu praktik terbaik yang dapat diterapkan di mana saja atau trik JavaScript yang tidak spesifik untuk kerangka kerja tersebut

Jika Anda belum mempelajari kerangka kerja apa pun, atau memikirkan kerangka mana yang harus Anda pelajari selanjutnya, saya sangat merekomendasikan React, sebagian karena ini juga akan membantu Anda mempelajari JavaScript dengan lebih baik. Banyak React hanyalah JavaScript lama. Selain itu, karena React menggunakan pendekatan fungsional, Anda juga akan belajar bagaimana menjadi programmer fungsional yang lebih baik

5. Pelajari tentang pewarisan prototipe

Ya, warisan prototipe terasa aneh pada awalnya, terutama jika sebelumnya Anda mempelajari bahasa pemrograman yang menggunakan warisan klasik seperti Ruby atau C#. Mungkin tergoda untuk menggunakan sintaks kelas ES6 dan berpura-pura bahwa JavaScript juga didasarkan pada warisan klasik. Namun, kelas ES6 hanyalah gula sintaksis—JavaScript masih menggunakan pewarisan prototipe di bawah tenda

Anda akan melakukan proses pembelajaran dengan sangat merugikan jika Anda tidak memahami cara kerja pewarisan dalam JavaScript. Jika Anda bingung tentang perbedaannya, baca Master the JavaScript Interview karya Eric Elliot. Apa Perbedaan Antara Kelas dan Warisan Prototypal? . Kuasai Wawancara JavaScript. Memahami pewarisan prototipe dapat membuat perbedaan besar dalam hal mendapatkan pekerjaan JavaScript berikutnya. Hal baik lainnya tentang artikel ini adalah bahwa artikel ini benar-benar mendalami manfaat pewarisan prototipe, sehingga Anda dapat memanfaatkannya dalam kode Anda

6. Keluarkan editor kode Anda

Saat pertama kali memulai pengodean, saya ingin belajar membuat kode dengan cara lama—tanpa bantuan dari editor kode saya. Itu konyol. Editor kode Anda dapat membuat kode lebih mudah bagi Anda. Saya menggunakan Visual Studio Code dan memanfaatkan ekstensi jika memungkinkan. Jika Anda tidak puas dengan editor kode Anda atau tidak yakin mana yang ingin Anda gunakan, saya sangat merekomendasikan VS Code, yang gratis

Jadi ekstensi mana yang harus Anda tambahkan?

Anda juga harus memiliki linter, yang menunjukkan kesalahan dalam kode Anda dan bahkan memberikan saran tentang cara memperbaikinya. Memiliki linter yang baik seperti memiliki seorang guru yang selalu mengawasi Anda, menunjukkan kepada Anda di mana kode Anda rusak, dan menyarankan praktik terbaik di sepanjang jalan. Saya menggunakan ESLint, tetapi ada linter JavaScript hebat lainnya seperti JSLint dan JSHint. Anda dapat menambahkan ESLint ke VS Code dengan ekstensi ini. (Anda juga dapat mengaturnya dengan webpack atau bundler modul lain, yang akan saya bahas lebih lanjut sebentar lagi. )

Saya juga sangat suka mewarnai kode saya, yang benar-benar dapat membantu saya melihat di mana tanda kurung kurawal dimulai dan berakhir. Itu membuat kode lebih mudah dibaca dan diindentasi. Untuk VS Code, saya menggunakan Bracket Pair Colorizer 2

Terakhir, untuk pengujian, saya telah menggunakan ekstensi Jest dan sangat berhasil menggunakannya. Ekstensi ini membuatnya sangat mudah untuk terus menjalankan pengujian di editor kode Anda dan men-debug kode Anda. Tidak menguji?

7. Uji kode Anda, bahkan jika Anda hanya ingin belajar coding

Terkadang menyenangkan untuk meretas proyek secepat mungkin. Dalam kasus tersebut, sepertinya menguji kode Anda membosankan, membutuhkan lebih banyak waktu, dan tidak perlu. Namun, itu jelas salah. Jika Anda memilih untuk tidak menguji kode Anda, atau, terengah-engah, tidak tahu cara menulis pengujian yang baik, Anda perlu memulai pengujian sekarang

Ada banyak alasan untuk menguji kode selain memastikannya berfungsi. Saya penggemar berat pengembangan berbasis pengujian (TDD) untuk menulis kode. TDD mendorong Anda untuk memulai dari yang kecil dan memecah masalah besar menjadi banyak bagian yang lebih kecil. Anda menulis tes terlebih dahulu, lalu menulis kode yang cukup untuk membuatnya lulus. Sebelum Anda menyadarinya, semua masalah kecil yang telah Anda selesaikan bertambah menjadi masalah yang jauh lebih besar yang akan jauh lebih sulit untuk diselesaikan sekaligus.

TDD mengurangi frustrasi, terutama saat proyek Anda menjadi lebih kompleks. Anda tahu apa yang berhasil karena Anda sudah mengujinya. Jika kode baru merusak pengujian lama, Anda akan langsung melihatnya, alih-alih mendapatkan bug yang kembali menggigit Anda nanti. Ada juga sedikit serbuan dopamin yang datang dengan lulus ujian dan merasa Anda berada di tanah yang kokoh

Pada titik ini, alat pengujian pilihan saya adalah Jest. Jika Anda ingin belajar tentang Jest dan TDD, lihat TDD dengan Jest. Atau Anda dapat mengikuti Test Driven Development and Environments dengan JavaScript untuk membuat aplikasi sederhana yang menggunakan webpack, TDD, dan Jest

Dan ya, gunakan ekstensi Jest dengan editor kode Anda jika bisa

8. Membangun lingkungan dari awal

Ketika proyek Anda semakin besar, Anda harus memisahkan kode Anda menggunakan bundler modul seperti webpack. Mungkin Anda sudah menggunakan pemaket modul di pekerjaan Anda saat ini, tetapi orang lain di tim Anda telah membuat lingkungan yang Anda gunakan kembali. Atau mungkin tim Anda menggunakan Docker, dan Anda tidak perlu memikirkannya sama sekali. Tetapi Anda harus tahu cara membangun lingkungan webpack dari awal hingga memuat modul, menjalankan pengujian secara otomatis, melakukan lint pada kode Anda, dan hal menyenangkan lainnya. Dan, jika Anda masih perlu mempelajari TDD juga, Anda dapat mengikuti Test Driven Development and Environments with JavaScript untuk mempelajari dasar-dasar webpack dan TDD dengan Jest.  

9. Ajari orang lain apa yang telah Anda pelajari

Ketika saya mengajar coding, saya menyadari bahwa saya tidak terlalu memahami konsep secara mendalam sampai saya bisa menjelaskannya. Semakin baik Anda memahami sesuatu, semakin sederhana Anda harus bisa menjelaskannya. Itu berarti Anda tidak hanya memuntahkan informasi yang kompleks—Anda benar-benar memahami konsepnya cukup dalam untuk memecahnya

Berhati-hatilah agar Anda tidak 'menjelaskan — jika Anda menjelaskan pewarisan prototipe kepada seseorang yang tidak bertanya, itu adalah tanda bahaya. Berbagi informasi harus menjadi jalan dua arah, yang berarti memeriksa dan memastikan bahwa orang yang Anda bagikan benar-benar ingin mempelajari apa yang Anda katakan.

10. Bersikaplah rendah hati dan ajukan pertanyaan

Tidak apa-apa jika Anda tidak mengetahui semua jawaban, bahkan tentang konsep dasar. Semakin banyak Anda belajar, semakin Anda menyadari bahwa Anda tidak tahu. Penasaran dan ajukan pertanyaan

JavaScript dapat menjadi tantangan pada awalnya, dan ada banyak masalah di sepanjang jalan. Di awal perjalanan pengkodean saya, asinkron membuat saya tersandung. Pemrograman fungsional, ketika saya pertama kali mempelajarinya, sangat abstrak dan membuat kepala saya terasa seperti dua ukuran terlalu kecil. Dan tidak apa-apa. Saya belajar banyak dalam prosesnya dan saya merasa nyaman dengan konsep-konsep itu sekarang

Ini sepadan—dan mudah-mudahan, Anda juga akan merasakan hal yang sama tentang langkah selanjutnya dalam perjalanan JavaScript Anda

Langkah selanjutnya

Ingin memperluas perjalanan belajar Anda untuk menyertakan DevOps?

DevOps untuk Pemula. Sumber Daya untuk Memulai Perjalanan DevOps Anda

Apa itu Observabilitas?

Jika Anda ingin mencoba pendekatan yang lebih praktis dan mempelajari cara menggunakan kemampuan observasi dalam aplikasi Anda sendiri, daftar akun New Relic One gratis selamanya

Topik-topik yang berkaitan

Karir


Bagaimana saya menjadi ahli javascript?

Oleh Franz Knupfer

Franz Knupfer adalah Pengelola Konten Teknis Senior di New Relic. Sebelum bergabung dengan New Relic, dia adalah Direktur Kurikulum di sekolah kode Epicodus di Portland, Oregon

Pandangan yang diungkapkan di blog ini adalah milik penulis dan tidak mencerminkan pandangan New Relic. Setiap solusi yang ditawarkan oleh penulis bersifat khusus untuk lingkungan dan bukan bagian dari solusi atau dukungan komersial yang ditawarkan oleh New Relic. Silakan bergabung dengan kami secara eksklusif di Explorers Hub (diskusikan. peninggalan baru. com) untuk pertanyaan dan dukungan terkait postingan blog ini. Blog ini mungkin berisi tautan ke konten di situs pihak ketiga. Dengan menyediakan tautan semacam itu, New Relic tidak mengadopsi, menjamin, menyetujui, atau mendukung informasi, tampilan, atau produk yang tersedia di situs tersebut

Berapa lama untuk menjadi ahli dalam JavaScript?

Jadi berapa lama waktu yang dibutuhkan untuk menjadi ahli JavaScript? . sebagian besar pemrogram setuju bahwa dibutuhkan enam hingga sembilan bulan untuk mengembangkan kecakapan kerja dalam JavaScript. Dan bahkan kemudian, Anda akan menghabiskan waktu bertahun-tahun mempelajari keterampilan baru dan mengembangkan pemahaman Anda tentangnya.

Bagaimana cara saya menguasai JavaScript?

Berlatih membuat kode melalui kurikulum, belajar melalui tutorial sambil membuat kode proyek, dan berkontribusi pada sumber terbuka akan membedakan Anda dari rekan-rekan Anda. Ini juga akan membuat Anda menjadi programmer yang lebih baik. Dengan membuat proyek, Anda dapat memahami cara kerja JavaScript dan secara umum cara kerja perangkat lunak.

Bisakah saya menguasai JavaScript dalam 3 bulan?

Namun, tidak seperti CSS dan HTML, JavaScript bukanlah sesuatu yang dapat dikuasai hanya dalam dua minggu. Tapi, itu bisa dilakukan hanya dalam tiga bulan . Sebagian besar pemberi kerja akan dengan senang hati mempekerjakan Anda sebagai pengembang web mereka jika Anda menguasai beberapa dasar JavaScript. Tentu saja, belajar tidak pernah berhenti.

Berapa lama untuk menjadi mahir dalam JavaScript?

‌Jika Anda belajar sendiri, diperlukan enam hingga sembilan bulan untuk menjadi mahir dalam JavaScript. Sebagian dari waktu itu dihabiskan untuk mempelajari cara berpikir seperti seorang programmer — berguna saat Anda melanjutkan untuk mempelajari bahasa pemrograman lain.