

Ask HN: What is "expert" level Javascript? - wturner

I figure the answer to this question is when you are so experienced (and confident) that it simply becomes irrelevant. But I'm curious about everyone else's perception.
======
karterk
Here are a few things:

* understanding prototypal inheritance, e.g. knowing what __proto__ means

* knowing how to model asynchronous code in several ways, e.g. using callbacks, events or even using promises

* understanding how an event loop works

* knowing perf related stuff (though one should always benchmark stuff)

~~~
xiaoma
__proto__ isn't even part of the standard at all. It's available in chrome as
a convenience but it's not in every browser and it definitely shouldn't ever
be used in a JavaScript program.

I see no reason an expert node engineer, for example, should be expected to
know about it.

~~~
mattwritescode
So not an expert then

------
pacomerh
An idea. If you can create a library or tool set that solves many of the most
commonly used (important) aspects of JS and more than one person (besides you)
can use effectively, then I think you might be expert.

------
migstopheles
I would say that knowing how operators are affecting your code is something
that a lot of JS devs probably don't fully grok. For example, why this works:
~function(){}(); or why this... x = (y = 1, 3) ... sets x equal to 3 and y
equal to 1. It's not too useful in day-to-day coding, but it shows a deeper
understanding of what's going on in there.

------
rahilsondhi
Read JavaScript The Good Parts. Some chapters are pretty difficult. I'd say if
you can fully understand and apply everything in that book, you're an expert.

Also Addy Osmani free books on large scale javascript applications and design
Patterns patterns are very good.

------
jarek-foksa
I would expect an expert to know the correct answers to most questions in
kangax's quiz: <http://perfectionkills.com/javascript-quiz/>

------
jogzden
A friend of mine once told me that someone who knows Javascript inside out
knows how to do things in jQuery with bare javascript.

------
rnirnber
good question...i wonder the same thing

------
Tangaroa
An expert would know the ecma spec inside and out, know what javascript does
differently from similar procedural languages, know how to approach
performance and memory management issues, know common practical development
patterns, know the DOM and the new HTML5 APIs, know the differences in the
implemented capabilities of commonly used browsers, and have studied (or
helped write) one of the open-source implementations.

