# JavaScript

> “Any application that can be written in JavaScript, will eventually be written in JavaScript.” — Jeff Atwood

### Quick guides to get started

* [JavaScript For Cats](http://jsforcats.com)
* [JavaScript The Right Way](http://jstherightway.org)
* [Mozilla's JavaScript Guide](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Introduction)
* [How to Learn JavaScript Properly](http://javascriptissexy.com/how-to-learn-javascript-properly/)
* [Learn X in Y minutes Where X=javascript](https://learnxinyminutes.com/docs/javascript/)

### JavaScript Tutorials

* [Free Code Camp](https://www.freecodecamp.org/) - learn to code for free
* [The Modern Javascript Tutorial](http://javascript.info/)
* [javascripting](https://github.com/workshopper/javascripting) - learn JavaScript by adventuring around in the terminal.
* [Codecademy's Learn Javascript](https://www.codecademy.com/learn/learn-javascript)
* [The Odin's Project Javascript](https://www.theodinproject.com/courses/javascript)
* [JavaScript 30](https://javascript30.com/) - 30 Day Vanilla JS Coding Challenge
* [ES6 Katas](http://es6katas.org) - Learn ES6 by doing it. Fix failing tests.

### JavaScript Books (free)

* [You Don't Know JS](https://github.com/getify/You-Dont-Know-JS) series by Kyle Simpson.
* [Eloquent JavaScript](https://eloquentjavascript.net/) by Marijn Haverbeke.
* [The JavaScript Way](https://github.com/bpesquet/thejsway) by Baptiste Pesquet.
* [Professor Frisby's mostly adequate guide to Functional Programming](https://mostly-adequate.gitbooks.io/mostly-adequate-guide/)
* [Speaking JavaScript](http://speakingjs.com/es5/) and [Exploring ES6](http://exploringjs.com/es6) by Axel Rauschmayer.
* [JavaScript Allongé](https://leanpub.com/javascriptallongesix/read) by Reg Braithwaite.
* [JSbooks](https://jsbooks.revolunet.com/) - links to more free JS books.

## Links

* [JavaScript Garden](http://bonsaiden.github.com/JavaScript-Garden) - a collection of the most quirky parts of JavaScript.
* [33 concepts every JavaScript developer should know](https://github.com/leonardomso/33-js-concepts#readme)
* Style Guides: [Airbnb's Style Guide](https://github.com/airbnb/javascript), [JavaScript Standard Style](https://standardjs.com), [Principles of Writing Consistent, Idiomatic JavaScript](https://github.com/rwaldron/idiomatic.js)
* [JavaScript in 10 minutes](https://raw.githubusercontent.com/spencertipping/js-in-ten-minutes/master/js-in-ten-minutes.pdf) - a quick intro to JS advanced features.
* [Functional Programming in Javascript](http://reactivex.io/learnrx/)
* [Learning Advanced JavaScript](https://johnresig.com/apps/learn/) by John Resig
* [Javascript Explained for Dinosaurs](https://medium.com/the-node-js-collection/modern-javascript-explained-for-dinosaurs-f695e9747b70)
* [Clean Code concepts adapted for JavaScript](https://github.com/ryanmcdermott/clean-code-javascript#readme)
* [JavaScript Algorithms and Data Structures](https://github.com/trekhleb/javascript-algorithms#readme) - JS examples of many popular algorithms and data structures.
* [Design Patterns JS](https://github.com/fbeline/Design-Patterns-JS) - all the 23 (GoF) design patterns implemented in Javascript.
* [JavaScript Visualizer](https://tylermcginnis.com/javascript-visualizer/) - a tool for visualizing Execution Context, Hoisting, Closures, and Scopes in JS.
* [Awesome JavaScript](https://github.com/sorrycc/awesome-javascript) - a collection of awesome browser-side JavaScript libraries, resources and shiny things.
* [JS dev reads](https://github.com/twhite96/js-dev-reads) - a list of hand-picked books and articles for JavaScript developers
* [JavaScript in one pic](https://github.com/coodict/javascript-in-one-pic) learn javascript in one picture.
* [JS Tips](https://github.com/loverajoel/jstips) - short and useful JavaScript tips that will allow you to improve your code writing.
* [JS Bits](https://github.com/vasanthk/js-bits) - JavaScript concepts explained with code.
* [Superhero.js](http://superherojs.com) - a list of articles that help explain the syntax of JavaScript, how to organize your projects, how to test your code, and what's on the horizon.
* [JS channels](https://github.com/andrew--r/channels#readme) - a collection of useful YouTube channels and other videos sources for javascript developers and web designers.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki.stojanow.com/programming/javascript.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
