Vamos conversar sobre carros.
Oh espere, nós já fizemos - lembra daquela vez que nos conhecemos, há algum tempo atrás? Nós conversamos sobre carros. Na verdade, você parecia ser um especialista em carros. Você foi capaz de explicar detalhadamente tudo o que é certo, errado e empolgante sobre a última corrida de Fórmula 1. Você sabia de cor todos os modelos da Lamborghini, incluindo preço e disponibilidade. Você até pensou em comprar seu próprio Ferrari 599 GTB Fiorano e estava economizando (aposto que o jantar do bife não ajudou muito).
Ao explicar as falhas da Toyota com uma voz ótima e excitada, você pulou de repente da cadeira e gritou no ar, agitando os punhos: "Droga, sou um magnífico especialista em todas as coisas relacionadas aos carros!" eu vou ser mecânico de automóveis! "
E assim você foi. Você teve uma entrevista, o Chefe ficou tão impressionado quanto eu com o seu conhecimento e você foi contratado. O primeiro cliente entrou. Sua embreagem estava quebrada. Você inspecionou e não sabia o que fazer. Por uma questão de fato, você não tinha absolutamente nenhuma idéia de como seguir os conselhos que o Chefe lhe deu. Você foi demitido.
Mas como pode ser isso!? Você sabe tudo sobre carros! Exceto por ... tudo sobre carros. Você pode muito bem saber que o carro dos seus sonhos tem um motor V12, mas não sabe o que isso realmente significa.
Então você não é um mecânico de automóveis - você é um entusiasta de automóveis. E até você aprender como os carros funcionam , você continuará sendo um entusiasta.
Agora deixe-me perguntar. Como $.fn.text
funciona? E que tal $.fn
? O que eles realmente significam? Como $(something)
retornar uma coisa gigantesca contendo coisas, e o que é exatamente essa coisa? Você pode replicar a funcionalidade deles, pelo menos um pouco, em teoria? Você consegue lidar sem o jQuery?
Dizer que "o JavaScript nativo é difícil" é apenas ... falso. Em primeiro lugar, porque o JavaScript como idioma não tem nada a ver com o DOM , que é principalmente o que o jQuery abstrai. Segundo, porque depois de aprender um pouco sobre o DOM, você já pode navegar pelos bugs mais comuns entre navegadores. Mas apenas um pequeno segredo - tudo é difícil no começo. A divisão longa era uma cadela na 5ª série.
Como uma segunda analogia para esta resposta: jQuery é JavaScript-DOM (não JavaScript a linguagem, apenas o DOM) como Array.prototype.forEach
é for
. Funciona em 99% dos casos. E isso funciona bem. Mas para esse 1% que não é coberto, você precisa saber como usar o for
loop, mesmo que seja prático. Essa resposta inteira é baseada no lado "mais puro" da pergunta, e nem mesmo no lado técnico (tamanho da biblioteca, por exemplo, e várias outras coisas, conforme explicado na resposta de Michael Dorrant). Porque eu amo JavaScript e quando as pessoas simplesmente o deixam de lado casualmente dizendo "pah, esses javascript tolos" e agitando luvas brancas sofisticadas, tudo se resume à moralidade.
Se você pode aceitar o fato de que sempre será um entusiasta do JavaScript, quem sou eu para impedi-lo? Mas se você quer ser um programador JavaScript, primeiro precisa ter o conhecimento necessário para escolher pelo menos entre usar o jQuery (ou qualquer outra biblioteca) e não usar uma biblioteca. Aprenda o DOM. Aprenda como usá-lo. Escreva sua própria pequena biblioteca ou apenas uma coleção de funções auxiliares. E uma vez que você conhece o DOM e escolhe usar o jQuery - velocidade divina. A preguiça é concedida para aqueles que trabalharam duro.