Context: frontend-dev-bookmarks / Languages, Protocols, Browser APIs
JavaScript is a full-fledged dynamic programming language that, when applied to an HTML document, can provide dynamic interactivity on websites. It is defined by ECMAScript standard.
- Enhancement Libraries: Libraries that attempt to improve and enhance the vanilla JavaScript language by providing utility functions.
- MOUT: MOUT provides many helper methods similar to those found on other languages standard libraries (ie. Python, Ruby, PHP).
- Ramda: A practical library designed specifically for a functional programming style, one that makes it easy to create functional pipelines, one that never mutates user data.
- RubyJS: RubyJS is a JavaScript implementation of all methods from Ruby classes like Array, String, Numbers, Time and more.
- lodash: A modern JavaScript utility library delivering modularity, performance, & extras.
- Functions: A function is a JavaScript procedure—a set of statements that performs a task or calculates a value.
- Closures explained by Jim Ley: Explanation of closures in JavaScript.
- Let’s Learn JavaScript Closures: So this post will be dedicated to the nuts and bolts of how and why closures work the way they do.
- MDN Guide Chapter about Functions: Defining functions, scope, closures, arguments, parameters, arrow functions and predefined functions.
- MDN Reference for Functions: Defining functions, arguments, parameters, methods, block-level functions and browser compatibility.
- Generators: Generators allow you to define an iterative algorithm by writing a single function which can maintain its own state.
- A Closer Look at Generators Without Promises: Author looks at libraries for asynchronous programming with generators but without promises.
- A Study on Solving Callbacks with JavaScript Generators: This article describes how Generators help fight callback hell.
- Callbacks vs Coroutines: In this post TJ Holowaychuk goes through hist experiences with coroutines and why he thinks they’re a great tool.
- Coroutine Event Loops in Javascript: An intriguing use of coroutines is to implement event loops as an alternative to callback functions. This is particularly relevant to Javascript, where the use of callbacks is pervasive.
- Coroutine vs Continuation vs Generator: StackOverflow Discussion about the difference between Couroutines, Continuations and Generators.
- JS Coding Conventions: Coding conventions are a set of guidelines for a specific programming language that recommend programming style, practices and methods for each aspect of a piece program written in this language.
- Airbnb JavaScript Style Guide: A reasonable approach to JavaScript by Airbnb.
- Google JavaScript Style Guide: JavaScript is the main client-side scripting language used by many of Google's open-source projects. This style guide is a list of dos and don'ts for JavaScript programs.
- Idiomatic.js: The following list outlines the practices that Rick Waldron uses in all code that he is the original author of.
- JavaScript Standard Style: A set of modules to check and improve the style of your code.
- WordPress JavaScript Coding Standards: JavaScript has become a critical component in developing WordPress-based applications (themes and plugins) as well as WordPress core. Standards are needed for formatting and styling JavaScript code.
- Objects: An object is a software bundle of related state and behavior. Software objects are often used to model the real-world objects that you find in everyday life.
- ECMA-262-3 in detail: OOP - The general theory: In this article we consider major aspects of object-oriented programming in ECMAScript. Much attention is given to theoretical aspects to see these processes from within.
- OOP In JavaScript: What You NEED to Know: In this article, we are concerned with only Inheritance and Encapsulation since only these two concepts apply to OOP in JavaScript.
- Prototypal Inheritance in JavaScript: An article by Douglas Crockford introducing the Object.create() method and describing the rational behind it.
- Prototypal Object-Oriented Programming using JavaScript: Mehdi Maujood describes the prototypical OO style and compares it to classes in JavaScript.
- Prototypes and Inheritance in JavaScript: This article tries to demystify the concept of prototypes in JavaScript. It shows how prototypes allow objects to inherit functionality from other objects, an approach to building objects using the new operator and a constructor function.
- Overview: General, high level guides and introductions to the JavaScript language.
- Eloquent JavaScript (Book): A comprehensive book about JavaScript, the language, the browser and Node.js.
- JavaScript Garden: JavaScript Garden is a growing collection of documentation about the most quirky parts of the JavaScript programming language. It gives advice to avoid common mistakes and subtle bugs.
- JavaScript Guide by Mozilla Developer Network: The JavaScript Guide shows you how to use JavaScript and gives an overview of the language.
- What the heck is the event loop anyway?: Philip Roberts, in this video, tries to create an intuitive understanding of what happens when JavaScript runs. He talks about the call stack, event loop, callback queue and other concepts.
- Promises: The core idea behind promises is that a promise represents the result of an asynchronous operation.
- Bluebird.js: Bluebird is a full featured promise library with unmatched performance.
- Difference between a Promise and a Task: Once you have a Promise instance the action has already started. Task instance does not run until someone calls .fork()
- ECMAScript Promises Spec: Standard ES specification for promises.
- MDN page on Promises: The Promise object is used for deferred and asynchronous computations. A Promise represents an operation that hasn't completed yet, but is expected in the future.
- The Promises/A+ Spec: An open standard for sound, interoperable JavaScript promises—by implementers, for implementers.
- What is Promise.try, and why does it matter?: In this brief article Sven Slootweg provides a better explanation of what Promise.try is, and why you should always use it, without exceptions.
- What's The Point Of Promises?: The point of promises is to represent the eventual resulting value from an operation, but the reason to use them is to better parallel synchronous operations and to solve the callback hell.
This work is licensed under a Creative Commons Attribution 4.0 International License.
Please provide a link back to this repository. This is not necessary for GitHub forks.