Skip to content

amrlabib/javascript-essentials

Repository files navigation

Javascript Essentials

Why this repository ?

  • This repository contains a concise explanation and examples to important topics in javascript, everything is explained using examples.

Topics:

This repository will cover the following topics:

  1. Scopes
  2. Value Or Reference
  3. Mutability
  4. Equality
  5. Hoisting
  6. Closures
  7. Immediately Invoked Function Expression (IIFE)
  8. Context (this)
  9. Callback Functions
  10. Promises
  11. Async/Await
  12. Classes-Objects
  13. ES6-classes
  14. Iterators
  15. Generators
  16. Memory
  17. Engine
  18. Runtime Environment
  19. Type Coercion

What is included:

For each javascript topic we have:

  • topic.md: includes topic explanation with numbered examples.

  • All examples are written in pure javascript.

  • Every single example should be executable without using any external functions or libraries


Resources

http://shop.oreilly.com/product/9780596517748.do

https://scotch.io/tutorials/understanding-hoisting-in-javascript

https://benmccormick.org/2016/06/04/what-are-mutable-and-immutable-data-structures-2/

http://www.syntaxsuccess.com/viewarticle/javascript-variable-assignment-explained

https://frontendmayhem.com/javascript-value-vs-reference/

https://scotch.io/tutorials/understanding-scope-in-javascript

https://stackoverflow.com/questions/20279484/how-to-access-the-correct-this-inside-a-callback

https://stackoverflow.com/questions/133973/how-does-this-keyword-work-within-a-function

https://toddmotto.com/understanding-the-this-keyword-in-javascript/

http://javascriptissexy.com/understand-javascript-closures-with-ease/

https://stackoverflow.com/questions/111102/how-do-javascript-closures-work

http://benalman.com/news/2010/11/immediately-invoked-function-expression/

https://javascriptweblog.wordpress.com/2010/07/06/function-declarations-vs-function-expressions/

https://www.sitepoint.com/immutability-javascript/

http://javascriptissexy.com/understand-javascript-callback-functions-and-use-them/

https://davidwalsh.name/promises

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise

https://tutorialzine.com/2017/07/javascript-async-await-explained

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes

https://stackoverflow.com/questions/4736910/javascript-when-to-use-prototypes

https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/Inheritance

https://scotch.io/tutorials/better-javascript-with-es6-pt-ii-a-deep-dive-into-classes

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/create

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Memory_Management

https://blog.sessionstack.com/how-javascript-works-memory-management-how-to-handle-4-common-memory-leaks-3f28b94cfbec

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols#The_iterator_protocol

https://medium.com/dailyjs/a-simple-guide-to-understanding-javascript-es6-generators-d1c350551950

https://www.youtube.com/watch?v=8aGhZQkoFbQ

https://blog.bitsrc.io/javascript-internals-javascript-engine-run-time-environment-settimeout-web-api-eeed263b1617

https://blog.sessionstack.com/how-does-javascript-actually-work-part-1-b0bacc073cf

http://davidshariff.com/blog/what-is-the-execution-context-in-javascript/

https://www.freecodecamp.org/news/js-type-coercion-explained-27ba3d9a2839/#:~:text=Type%20coercion%20is%20the%20process,boolean%2C%20and%20so%20on).&text=As%20an%20example%20of%20type,different%20a%20and%20b%20types.