Parliamo di macchine.
Oh aspetta, l'abbiamo già fatto - ricordi quella volta che ci siamo incontrati, qualche tempo fa? Abbiamo parlato di macchine. In effetti, sembravi essere un grande esperto di automobili. Sei stato in grado di spiegare, in dettaglio, tutto ciò che è giusto, sbagliato ed eccitante sull'ultima gara di Formula 1. Conoscevi a memoria tutti i modelli Lamborghini, inclusi prezzo e disponibilità. Avevi anche pensato di acquistare la tua Ferrari 599 GTB Fiorano e stavi risparmiando (scommetto che la cena con bistecca non è stata di grande aiuto).
Mentre spiegavi le colpe della Toyota con una grande voce eccitata, all'improvviso sei saltato dalla sedia e hai urlato in aria, agitando i pugni: "Accidenti, sono un magnifico esperto di tutto ciò che riguarda le automobili! sarò un meccanico! "
E così sei andato. Hai avuto un'intervista, il Boss Man è stato altrettanto impressionato quanto me con le tue conoscenze e sei stato assunto. Entrò il primo cliente. La sua frizione era rotta. L'hai ispezionato e non sapevi cosa fare. È un dato di fatto, non avevi assolutamente idea di come seguire il consiglio che ti ha dato il Boss Man. Sei stato licenziato.
Ma come potrebbe essere !? Sai tutto di macchine! Tranne per ... tutto sulle macchine. Puoi ben sapere che la tua auto dei sogni ha un motore V12, ma non sai cosa significhi effettivamente.
Quindi non sei un meccanico di auto, davvero - sei un appassionato di auto. E finché non imparerai come funzionano le auto , rimarrai un appassionato.
Ora lascia che te lo chieda. Come $.fn.text
funziona? E che dire $.fn
? Cosa significano veramente? In che modo $(something)
restituisce una cosa gigantesca che contiene cose e che cosa è esattamente quella cosa? Riesci a replicare la loro funzionalità, almeno un po ', anche in teoria? Riesci a farcela senza jQuery?
Dire che "JavaScript nativo è difficile" è solo ... falso. Innanzitutto, perché JavaScript come lingua non ha nulla a che fare con il DOM , che è principalmente ciò che estrae da jQuery. Secondo perché una volta che hai imparato qualcosa sul DOM, puoi già navigare attraverso i più comuni bug tra browser. Ma solo un piccolo segreto: all'inizio è tutto difficile. La divisione lunga era una cagna in 5a elementare.
Come seconda analogia per questa risposta: jQuery è quello di JavaScript-DOM (non JavaScript la lingua, solo il DOM) come Array.prototype.forEach
è quello for
. Funziona, per il 99% dei casi. E funziona bene. Ma per questo 1% che non è coperta, è necessario sapere come utilizzare il for
ciclo, se non altro per essere pratico. L'intera risposta si basa sul lato "più puro" della domanda, e nemmeno sul lato tecnico (la dimensione della biblioteca, per esempio, e molte altre cose come spiegato nella risposta di Michael Dorrant). Perché adoro JavaScript e quando le persone sembrano semplicemente buttarlo da parte dicendo casualmente "pah, quei sciocchi javascriptiani" e sventolando fantasiosi guanti bianchi, si scende alla moralità.
Se riesci ad accettare il fatto che sarai sempre un appassionato di JavaScript, allora chi sono io per fermarti? Ma se vuoi essere un programmatore JavaScript, devi prima avere le conoscenze per scegliere almeno tra usare jQuery (o qualsiasi altra libreria) e non usare una libreria. Impara il DOM. Impara come usarlo. Scrivi la tua piccola libreria o solo una raccolta di funzioni di supporto. E una volta che conosci il DOM e scegli di usare jQuery - godspeed. La pigrizia è premiata per coloro che hanno lavorato duramente.