7

You can say you know a computer language to a decent level when you can in fact make useful programs with it.

For example, I can say I know JavaScript to a basic level. I know its basic core functionality by heart (which can't be said for some people I know), such as:

- it manipulates the DOM, the DOM has Element, Nodes, TextNodes (all to be found on W3C documents with its own specs)
- useful functions are:
getElementById()
getElementsByClassName()
Also knowing that these return either HTMLElementCollection or NodeCollection because you have to iterate over it differently then
- element.textContent
- == and ===
- dynamic typing
- closures
- avoid global variables
- nodes have parentNodes
- isNaN, undefined
- arr.push()
- arguments don't have explicit types defined
- etc.

Using this knowledge I built an antispam script for a particular server. It's good to know the model of a language, that it sits in your head and that you can use and understand the constructs when you want and how you want.

Comments
  • 0
    > arguments don't have specific types defined.

    If type systems are something you're already used to, I would avoid JS for everything but the smallest projects. The only advantages to vanilla js that I can see are the learning curve and the lack of build steps. These are great qualities if you want to have a tiny app or hire the cheapest possible developers.

    If you haven't already, check out typescript.
Add Comment