If it's wiser to know a framework such as jQuery, MooTools, DoJo, etc. to get over cross-browser issues, why are interviews asking for only javascript?


Because if you know "real" Javascript, then it doesn't matter if you know jQuery but not MooTools, DoJo but not Closure, etc. If you know "real" Javascript, you should be able to pick up any particular Javascript library with relative ease.

It's (often) better to use a library that helps with the cross-browser issues, but you can't know the library without knowing the language. If you don't know "Javascript" and all you can do is cut'n'paste samples from a particular library, then you can't really put "Javascript" as a language on your resume anyway, IMO.


It is easier to evaluate a person's skill/knowledge by examining their coding style within a finite set of language features - such as JavaScript. The object of the exercise is not to create code that works well accross different platforms, but to examine the candidate - in this case, you.


I think I'd appreciate hearing that an interviewee understands that jQuery selectors are a vast improvement over getElementByName. That way they know there IS something underlying the framework, and they know enough about it to drop a function name.

That's really all I need to hear about their understanding of "raw javascript". God help me, I'd love to never code "raw javascript" ever again.

I know how to put gas in the car. I don't need to know how to refine dead dinosaurs into gas.

Yes I did just call raw javascript a dead dinosaur.

  • 1
    Raw JavaScript is not just DOM manipulation, in fact, anything but. If you don't know the underlying language, you will hit problems (passing a function vs. passing the function's result seems to be a very common question on SO; this is raw JS). – Piskvor Sep 7 '11 at 14:05
  • What I mean is, if they can demonstrate to me a competency with the framework (including the raw js stuff needed to operate it fluently) AND can at least wave their hands toward the understanding that there IS something underlying it, I'm satisfied. – Dan Ray Sep 7 '11 at 17:06

Because frameworks are changing more often than language features. If you are a good javascripter, it is more likely than he could be able to learn relatively quicker any framework. And without really deep knowledge of "just js", understanding the core functionality of any big library is hard.

It always better to know what is going on behind the scenes. Besides, knowledge of the language itself helps you to distinct good architectural from bad ones.


A framework is a level of abstraction above javascript.

If you dont know a framework but do know javascript its a matter of a few hours to learn the specifics. You cant use a framework properly without knowing javascript.

  • I beg to differ. You could use a framework without knowing what's under the hood. You'll still be able to churn out enough productive code that way. – abhi Sep 7 '11 at 11:25
  • 3
    @abhi that's called programming by coincidence. It's considered a bad thing. You can't use it properly. On a sidenote, people that program by coincidence aren't programmers. You don't want them programming, you'll suffer for it. – Raynos Sep 7 '11 at 11:53

Don't let this fact stop you from learning commonly used frameworks though. Knowing JavaScript alone may not be always sufficient.

  • Learning JavaScript and the DOM alone will be sufficient, any hiring environment that says no is incompetent. – Raynos Sep 7 '11 at 11:53
  • Well, most employees try to increase their hiring chance. if a job requires a given skill, and the candidate does not have this skill, it is usually hard for a manager to justify why the candidate was picked. – NoChance Sep 7 '11 at 12:49
  • 1
    "Knowing framework X" is not a skill of any value. – Raynos Sep 7 '11 at 13:04

If you know JavaScript, you will be able to build your own library with your own functionalities, often needed in working environments for proprietary tools.

I once found a bug in jQuery and had to patch it myself, because I couldn't wait for them to release a patch. I was able to do it easily because I know JavaScript.

Being a good coder in JavaScript means you know many concepts such as closures, prototyping and other good features this powerful language offers, and that you may end up not using/understand when relying on a "write less, do more" library.

Then, even if you will use one of those libraries or frameworks, you will ultimately understand when it's best to use their functionalities and when it's best not to. Because they offers many good functionalities by writing little code, but it's really easy to overuse them, and create poor and sloppy code, while with plain JS would've been much faster.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.