자동차에 대해 이야기합시다.
아 잠깐, 우린 이미 했어-우리가 만났던 시간을 기억해? 우리는 차에 대해 이야기했습니다. 실제로, 당신은 자동차의 전문가 인 것 같습니다. 최신 포뮬러 1 레이스에 대해 옳고 그름이 무엇인지 흥미 진진한 내용을 자세하게 설명 할 수있었습니다. 가격과 가용성을 포함하여 람보르기니의 모든 모델을 잘 알고있었습니다. 당신은 심지어 자신의 페라리 599 GTB 피오 라노 를 구매할 생각을 가지고 있었고 그것을 위해 저축하고 있었다 (나는 스테이크 저녁 식사가별로 도움이되지 않았다).
흥분된 목소리로 Toyota의 결점을 설명하면서 갑자기 의자에서 뛰어 내려 공중으로 비명을 질렀다. "자동차 정비사가 될거야!"
그리고 당신은 갔다. 당신은 인터뷰를했고, 보스 맨은 당신의 지식에 대해 나만큼 감동했고, 당신은 고용되었습니다. 첫 번째 고객이 들어 왔습니다. 그의 클러치가 고장났습니다. 당신은 그것을 검사하고 무엇을 해야할지 몰랐습니다. 사실, 당신은 보스 맨이 당신에게 준 조언을 따르는 방법을 전혀 몰랐습니다. 당신은 해고되었습니다.
그러나 어떻게 그럴 수 있습니까!? 당신 은 자동차에 대한 모든 것을 알고 있습니다 ! 차에 관한 모든 것만 빼고 꿈의 자동차에 V12 엔진이 있다는 것을 잘 알 수 있지만 실제로 그 의미를 모릅니다.
그래서 당신은 자동차 정비공이 아닙니다. 정말로 – 당신은 자동차 애호가입니다. 그리고 당신은 자동차가 어떻게 작동 하는지 배우기 전까지 는 열광 자입니다.
이제 물어 보자. 어떻게 $.fn.text
작동합니까? 그리고 $.fn
어때요? 그들은 실제로 무엇을 의미합니까? $(something)
물건을 포함하는 거대한 물건을 어떻게 반환합니까? 그리고 정확히 무엇입니까? 이론 상으로는 기능을 조금이라도 복제 할 수 있습니까? jQuery 없이도 대처할 수 있습니까?
"네이티브 JavaScript는 어렵다"고 말하는 것은 ... 거짓입니다. 무엇보다도 언어로서의 JavaScript 는 jQuery 와 관련이있는 DOM 과 관련이 없기 때문에 주로 jQuery가 추상화합니다. 두 번째로 DOM에 대해 조금 배운 후에는 가장 일반적인 크로스 브라우저 버그를 이미 살펴볼 수 있기 때문입니다. 그러나 약간의 비밀-처음에는 모든 것이 어렵습니다. 긴 사단은 5 학년에서 나쁜 년 이었습니다 .
이 답변에 대한 두 번째 비유로 : jQuery를 자바 스크립트-DOM (안 자바 스크립트 언어, 바로 DOM) 등이다 Array.prototype.forEach
이다 for
. 99 %의 경우 작동합니다. 그리고 잘 작동합니다. 그러나이 적용되지 않습니다 그 1 %를 위해, 당신은 필요로 사용하는 방법을 알고 for
실천 할 경우에만 루프를. 이 전체 답변은 질문의 "순수한"측면을 기반으로하며 기술적 인 측면 (예 : 라이브러리의 크기 및 Michael Dorrant의 답변에 설명 된 기타 여러 항목)도 아닙니다. 저는 JavaScript를 좋아하고 사람들이 "Pah, 바보 같은 자바 스크립트"라고 말하면서 멋진 흰 장갑을 흔드는 것처럼 그냥 버릴 것 같기 때문에 도덕성에 빠지게됩니다.
당신이 항상 JavaScript 애호가가 될 것이라는 사실을 받아 들일 수 있다면, 누가 당신을 막을까요? 당신은 자바 스크립트 프로그래머가되고 싶어하지만, 먼저 적어도이시에 대한 지식이 있어야 선택 jQuery를 (또는 다른 라이브러리)을 사용하여 라이브러리를 사용하지 않는 사이입니다. DOM을 배우십시오. 사용법을 배우십시오. 자신 만의 작은 라이브러리 또는 일부 도우미 함수 모음을 작성하십시오. 그리고 일단 DOM에 대해 알고 있으면 jQuery (godspeed)를 사용하기로 선택합니다. 게으름은 열심히 일한 사람들에게 수여됩니다.