Mari kita bicara tentang mobil.
Oh, tunggu, kita sudah melakukannya - ingat saat itu kita bertemu, beberapa waktu yang lalu? Kami berbicara tentang mobil. Bahkan, Anda tampaknya cukup ahli dalam mobil. Anda dapat menjelaskan, secara terperinci, semua hal yang benar, salah, dan menarik tentang balapan Formula 1 terbaru. Anda hafal semua model Lamborghini, termasuk harga dan ketersediaannya. Anda bahkan memiliki pemikiran untuk membeli Ferrari 599 GTB Fiorano Anda sendiri dan menabung untuk itu (saya yakin makan malam steak tidak banyak membantu).
Sambil menjelaskan kesalahan Toyota dengan suara besar dan bersemangat, Anda tiba-tiba melompat dari kursi dan berteriak ke udara, mengayunkan kepalan tangan Anda tentang: "Sialan semuanya, aku ahli yang luar biasa dalam semua hal yang berhubungan dengan mobil! Aku ' Aku akan menjadi mekanik mobil! "
Jadi kamu pergi. Anda memiliki sebuah wawancara, Bos Man sama terkesannya dengan saya dengan pengetahuan Anda, dan Anda dipekerjakan. Klien pertama masuk. Koplingnya patah. Anda memeriksanya dan tidak tahu harus berbuat apa. Faktanya, Anda sama sekali tidak tahu bagaimana mengikuti saran yang diberikan Bos Man kepada Anda. Anda dipecat.
Tapi bagaimana mungkin !? Anda tahu segalanya tentang mobil! Kecuali untuk ... segala sesuatu tentang mobil. Anda bisa mengetahui bahwa mobil impian Anda memiliki mesin V12, tetapi Anda tidak tahu apa artinya itu.
Jadi Anda bukan mekanik mobil, sungguh - Anda seorang penggila mobil. Dan sampai Anda belajar bagaimana mobil bekerja , Anda akan tetap menjadi penggila.
Sekarang izinkan saya bertanya kepada Anda. Bagaimana cara $.fn.text
kerjanya? Dan bagaimana $.fn
? Apa yang sebenarnya mereka maksud? Bagaimana cara $(something)
mengembalikan benda raksasa yang berisi benda, dan benda apa itu sebenarnya? Bisakah Anda meniru fungsi mereka, setidaknya sedikit, secara teori? Bisakah Anda mengatasinya tanpa jQuery?
Mengatakan bahwa "JavaScript asli sulit" hanya ... salah. Pertama dan terutama, karena JavaScript sebagai bahasa tidak ada hubungannya dengan DOM , yang terutama merupakan abstrak jQuery. Kedua karena begitu Anda mempelajari sedikit tentang DOM, Anda sudah dapat menjelajahi bug lintas-peramban yang paling umum. Tapi hanya sedikit rahasia - semuanya sulit pada awalnya. Divisi panjang adalah menyebalkan di kelas 5.
Sebagai analogi kedua untuk jawaban ini: jQuery adalah JavaScript-DOM (bukan JavaScript bahasa, hanya DOM) seperti Array.prototype.forEach
ini for
. Ini bekerja, untuk 99% kasus. Dan itu bekerja dengan baik. Tapi untuk itu 1% yang tidak tercakup, Anda perlu tahu cara menggunakan for
loop, jika hanya untuk menjadi praktis. Seluruh jawaban ini didasarkan pada sisi "murni" dari pertanyaan, dan bahkan bukan dari sisi teknis (ukuran perpustakaan, misalnya, dan beberapa hal lain seperti dijelaskan dalam jawaban Michael Dorrant). Karena saya suka JavaScript dan ketika orang-orang sepertinya membuangnya dengan santai sambil mengatakan "pah, para javascript yang konyol" dan melambaikan sarung tangan putih yang mewah, itu berujung pada moralitas.
Jika Anda dapat menerima kenyataan bahwa Anda akan selalu menjadi penggemar JavaScript, lalu siapakah saya untuk menghentikan Anda? Tetapi jika Anda ingin menjadi programmer JavaScript, pertama-tama Anda harus memiliki pengetahuan untuk setidaknya memilih antara menggunakan jQuery (atau perpustakaan lain) dan tidak menggunakan perpustakaan. Pelajari DOM. Pelajari cara menggunakannya. Tulis perpustakaan kecil Anda sendiri atau hanya beberapa koleksi fungsi pembantu. Dan begitu Anda memiliki pengetahuan tentang DOM, dan Anda memilih untuk menggunakan jQuery - godspeed. Kemalasan diberikan bagi mereka yang bekerja keras.