JavaScript

From BC$ MobileTV Wiki
Revision as of 10:13, 28 June 2022 by Bcmoney (Talk | contribs) (Builds)

Jump to: navigation, search

Contents

JavaScript is a structural (or potentially, partial object-oriented) programming language designed to work with (i.e. supported by) most modern web browsers. While not particularly Java-like in terms of language syntax, variable definition/initialization/scoping or function calls, it does borrow some object-oriented philosophies and certainly the philosophy of "write-once, run anywhere" from Java, hence borrowing the name. It was originally created to enable more interactive features to be added to static and/or dynamically served web pages withhin Websites or Web Applications. Because of its usefulness and simplicity in developing/running/testing small interactivity features, the Web saw a rise in popularity of the WebApp, with AJAX eventually leading the Web 2.0 movement.

It has also been called the world's most misunderstood programming language.[1][2]



Specifications

  • W3C - Subresource Integrity (SRI): https://www.w3.org/TR/SRI/ (acheiving code-signing through use of "integrity" attribute on <script> tags)

[5] [6]


Language

[7] [8] [9] [10] [11] [12] [13]

Graceful Degradation / Unobtrusive JS

Graceful Degradation (sometimes also called Unobtrusive Javascript[14]) is the maintenance of separation of concerns when programming client-side applications, and serves to divide up a client application into:

  • Content = HTML/xHTML
  • Style = CSS
  • Behavior = JS (or VBscript)

The central idea behind taking the extra care required to write Unobtrusive Javascript, is that it allows you to be certain that your code will run as well as look and behave as similar as possible, on the widest array of devices, browsers and operating systems. The following is an Unobtrusive Javascript checklist:

  1. Begin with your content
  2. Give it structure with semantically descriptive markup
  3. Apply presentation layer changes using external CSS only (avoid all possible use of inline "style" attributes), and finally,
  4. Add a behavior layer with DOM scripting, rather than inline JavaScript or event handler attributes such as onclick, onkeypress, onmouseover, etc.

[15]

[16] [17] [18] [19]


Progressive Enhancement

Along the same line of thought as Unobtrusive JavaScript is the idea of "Progressive Enhancement", also referred to as the Fallback technique (as a conscious attempt is made to provide as many fallbacks and alternative rendering, display or support methods as possible). Progressive Enhancement builds on the same foundations as Unobtrusive Javascript but adds the following two requirements:

  1. All navigation must happen via links and form submissions – don’t use JavaScript for navigation.
  2. If necessary, add JavaScript enhancements to navigation, overriding the links and form submissions, for example to avoid page reloads. Every single link and form element should still work when JavaScript is disabled.

[20]

[21] [22] [23]

Polyfill

[24] [25] [26] [27] [28] [29] [30] [31]

Responsive Design

See: Responsive Design


Functions

Generators


Defer & Async

[32] [33] [34]

Fetch


window

document

Events

[35] [36] [37] [38] [39] [40] [41] [42]

Loops

for

forEach
for ... in


Arrays

[43] [44]

Associative Arrays

Associative Arrays in JavaScript are not proper in the sense that the entire list of associative key/value pairs may include other non-data components such as array operations (i.e. put, pop, trim, remove, etc...) as unexpected values when looping through the entire "Associative Array"

[45] [46] [47] [48] [49]

Multi-Dimensional Arrays

[50]


Maps & Sets

[51]

Reduce

[52] [53] [54] [55]


Object

[56] [57] [58] [59] [60] [61] [62]

Prototype

EXAMPLE #1 - Prototypal Functions:

Function.prototype.method = function(name, func) {
  this.prototype[name] = func;
  return this;
}

EXAMPLE #2 - Differential Inheritance (object literal, instance, extension):

var myMammal = {
   name : 'Mammal',
   get_name : function() {
     return this.name;
   },
   says : function() {
     return this.saying || ;
   }
};
var myDog = Object.create(myMammal);
myDog.name = 'Poochie';
myDog.saying = 'Woof';
myDog.bark = function(n) {
  var i, s = ;
  for (i = 0; i < n; i++) {
    if (s) {
      s += '-';
    }
    s += 'r';    
  }
  return s;
};
myDog.get_name = function() {
  return this.says() + ' ' + this.name + ' ' + this.says();
};
 

[63] [64] [65] [66] [67] [68]

Class

[69]

Options parameters / Destructuring

Modules


Closures

[70] [71] [72] [73] [74] [75] [76] [77]

Currying

[78] [79] [80]

Composition

[81]


IIFE

JavaScript Immediately-Invoked Function Expressions (IIFE).

[82] [83] [84] [85] [86] [87] [88]


Cookies

Cookies are small client-side data caches to store small amounts of data (such as session ID numbers, timestamps and other non-personal unique identifiers).

[89] [90] [91] [92] [93] [94] [95] [96]


DOM Query Selectors

New JavaScript native functions (inspired by jQuery) have been introduced in JavaScript 2 which can locate HTML elements in a more robust manner than the limited and traditional manners of getElementById() and name-based lookups, for example:

<form name="test"><input name="myfield" /></form>
<script>var myfieldVal = document.test.myfield.value;</script>

In terms of browser support... querySelector(), querySelectorAll() and getElementsByClassName() are supported in Firefox 3.1+, IE8+ (only in IE8 standards mode), and Safari 3.1+

[97] [98] [99] [100] [101] [102] [103] [104] [105] [106]

getElementById

Looks up a single DOM Element based on the "id" attribute.

getElementsByName

Looks up single DOM Element(s) based on the "name" attribute.

getElementsByTagName

Looks up 1-to-n DOM Element(s) based on the "element (tag)" name.

getElementsByClassName

Looks up 1-to-n DOM Element(s) based on the "class" attribute.

querySelector

Looks up single DOM Element(s) based on the "selector" value (such as "#something" for an ID, ".something" for a CSS Class, or, "table tr td" for specific elements and many more selectors).

querySelectorAll

Looks up 1-to-n DOM Element(s) based on the "selector" value per querySelector.

getAttribute

[107] [108] [109]

DOM Traversal

AJAX (XHR)

Xml Http Request (XHR) is a native JavaScript object which has several different implementations and behaviors across browsers (particularly older versions of IE). It is a method for remotely requesting (calling) content in the form of(but not limited to) XML. It can also be used to get data in HTML, JSON, RDF, n3, CSV, TSV, and many other File Formats. Both GET and POST methods are supported, while PUT and DELETE have only partial support which varies even more greatly across platforms.

   var url = 'http://sandbox.api.shopping.com/publisher/3.0/rest/GeneralSearch?apiKey=authorized-key&trackingId=7000610&keyword=nikon';
   if (window.XMLHttpRequest)
   {
     xhttp=new XMLHttpRequest();
   }
   else
   {
     xhttp=new ActiveXObject("Microsoft.XMLHTTP");
   }
   xhttp.open("GET",url,false);
   xhttp.send();
   return xhttp.responseXML;

For more, see AJAX section.


Parsing XML

To retrieve a sub-list of multiple (identically named) elements:

    <html>
    <head>
    <script type="text/javascript" src="loadxmldoc.js"></script>
    </head>
    <body>
    <div id="books">
    </div>
    <script type="text/javascript">
      xmlDoc=loadXMLDoc("books.xml");
      books=xmlDoc.getElementsByTagName("book");
      var booksDiv = document.getElementById("books");
      booksDiv.innerHTML = "<ol>";
      for (i = 0; i < books.length; i++)
      {
           title=xmlDoc.getElementsByTagName("title")[i].childNodes[0].nodeValue;
           booksDiv.innerHTML += "<li>" + title + " by: ";
           title=xmlDoc.getElementsByTagName("title")[i].childNodes[0].nodeValue;
           authors=books[i].getElementsByTagName("author");
           for (j = 0; j < authors.length; j++)
           {
             author = authors[j].childNodes[0].nodeValue;
             if (authors.length == 1 || (authors.length-1) == j) 
               booksDiv.innerHTML += author;              
             else 
               booksDiv.innerHTML += author + ", ";    
           }
      }
      booksDiv.innerHTML += "</ol>";
    </script>
    </body>
    </html>

[110] [111] [112] [113]


Likewise, for parsing an XML string in Javascript (no AJAX call):

    <html>
    <head>
    <script type="text/javascript" src="loadxmlstring.js"></script>
    </head>
    <body>
    <div id="books">
    </div>
    <script type="text/javascript">
xml = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>"
+ "<bookstore>"
+ "<book category=\"cooking\">"
+ "<title lang=\"en\">Everyday Italian</title>"
+ "<author>Giada De Laurentiis</author>"
+ "<year>2005</year>"
+ "<price>30.00</price>"
+ "</book>"
+ "<book category=\"children\">"
+ "<title lang=\"en\">Harry Potter</title>"
+ "<author>J K. Rowling</author>"
+ "<year>2005</year>"
+ "<price>29.99</price>"
+ "</book>"
+ "<book category=\"web\">"
+ "<title lang=\"en\">XQuery Kick Start</title>"
+ "<author>James McGovern</author>"
+ "<author>Per Bothner</author>"
+ "<author>Kurt Cagle</author>"
+ "<author>James Linn</author>"
+ "<author>Vaidyanathan Nagarajan</author>"
+ "<year>2003</year>"
+ "<price>49.99</price>"
+ "</book>"
+ "<book category=\"web\" cover=\"paperback\">"
+ "<title lang=\"en\">Learning XML</title>"
+ "<author>Erik T. Ray</author>"
+ "<year>2003</year>"
+ "<price>39.95</price>"
+ "</book>"
+ "</bookstore>";
      xmlDoc=loadXMLString(xml);
      books=xmlDoc.getElementsByTagName("book");
      var booksDiv = document.getElementById("books");
      booksDiv.innerHTML = "<ol>";
      for (i = 0; i < books.length; i++)
      {
           title=xmlDoc.getElementsByTagName("title")[i].childNodes[0].nodeValue;
           booksDiv.innerHTML += "<li>" + title + " by: ";
           authors=books[i].getElementsByTagName("author");
           for (j = 0; j < authors.length; j++)
           {
             author = authors[j].childNodes[0].nodeValue;
             if (authors.length == 1 || (authors.length-1) == j) 
               booksDiv.innerHTML += author;              
             else 
               booksDiv.innerHTML += author + ", ";    
           }
      }
     booksDiv.innerHTML += "</ol>";
    </script>
    </body>
    </html>

[114] [115] [116] [117] [118]


Promises

[119] [120] [121] [122] [123] [124] [125] [126]

[127] [128] [129] [130] [131] [132]


Closures

Features

Features commonly implemented using JavaScript are listed here.

Show/Hide

Feature giving the ability to show/hide content in a webpage or application.

[134] [135] [136] [137] [138] [139] [140]


Hash Navigation

[141] [142]


Input Validation

Client-side input validation (prior to and perhaps after sending data to the server).

[143] [144]


User-Agent Detection

One of the most useful features of JavaScript is ironically, one of its largest setbacks. Since JavaScript behaves slightly differently across different implementations (i.e. by browser types and OSs), a number of library components were included for detecting the Client/User-Agent of the application and platform through which a given piece of JavaScript was accessed.

[145] [146] [147]



Libraries

Node.JS

Node.JS is much more than just a simple Javascript front-end library or set of convenience utilities, it is a full fledged platform for running JavaScript on the server-side (i.e. within a command-line prompt or via backend code that never interacts with an end user). Node.JS is powered by the V8 JavaScript engine, and offers a number of additional utilities (or JS libraries) of its own via Node.JS plugins and extensions. An emerging all-Javascript software architecture for doing all stages of programming from even Database Server storage to the Application Server, and the Front-End view interaction code to the Back-End MVC model and controller code, is called MEAN (which stands for MongoDB, Express.JS, Angular.JS, Node.JS).

[158] [159] [160] [161]

[162]

[163] [164] [165] [166] [167] [168] [169] [170] [171] [172] [173] [174] [175] [176] [177] [178] [179] [180] [181] [182] [183] [184] [185] [186] [187] [188] [189] [190] [191] [192] [193] [194] [195] [196] [197]

[198] [199] [200] [201] [202] [203] [204] [205]

Deno

  • Deno - A modern runtime for JavaScript and TypeScript: https://deno.land/ (NodeJS creator's completely re-imagined "JS on the server" platform alternative to NodeJS)

[206]

NPM

Node Package Manager (NPM).

[207] [208] [209]

[211] [212] [213] [214] [215] [216] [217] [218] [219] [220] [221] [222] [223] [224] [225] [226] [227] [228] [229] [230] [231] [232] [233] [234] [235] [236] [237] [238]

Mocha/Chai

[240] [241] [242] [243] [244] [245] [246] [247] [248] [249] [250] [251] [252] [253] [254] [255]

Express.JS

Express is a plugin for efficient and fast HTTP handling (requests/responses) and provides a true web application framework for Node.JS applications.

jQuery

jQuery has long been the leading (most-used) JavaScript library. It provides a number of features primary of which is cross-browser backwards-compatibility, DOM selectors, CSS selectors, dynamic interactivity (event delegation) and a simple plugin/extension framework.

  • jQuery: http://jquery.com/ (fast and concise JavaScript Library that simplifies HTML document traversing, event handling, animating, and Ajax interactions)
  • ResponseJS: http://responsejs.com/ (jQuery-based responsive framework)

jQuery Mobile


Sencha

Sencha Touch

Raphael


Oracle JET

[256]


YUI


DOJO


Prototype

MooTools

Scriptaculous

  • Scriptaculous: http://script.aculo.us/ (extension of Prototype.JS; one of the first which focused on impressive animations all using DOM manipulation)


Templating

[265][266]

Angular.JS

Of Particular note in the category of "Templating/Eventing" JavaScript libraries is the Angular.JS library. It is described by its founders as "what HTML would have been, had it been designed for building web-apps" and provides Declarative templates with data-binding, MVW, MVVM, MVC, etc. According to its own site: "HTML is great for declaring static documents, but it falters when we try to use it for declaring dynamic views in web-applications. AngularJS lets you extend HTML vocabulary for your application. The resulting environment is extraordinarily expressive, readable, and quick to develop. Other frameworks deal with HTML’s shortcomings by either abstracting away HTML, CSS, and/or JavaScript or by providing an imperative way for manipulating the DOM. Neither of these address the root problem that HTML was not designed for dynamic views."

In summary, angular lets you create your own HTML tags and put "data placeholders" right into the HTML layout, which then get dynamically populated and updated by the Angular.JS framework, based on particular events that happen within the page (or outside of it, i.e. via data pushed from the backend).

[267] [268] [269] [270][271][272][273][274] [275] [276] [277]

Ionic

Ionic Framework is a library for hybrid mobile application development in Angular, React, Vue and/or "vanilla" JavaScript.

[280] [281] [282] [283] [284] [285] [286] [287] [288] [289] [290] [291] [292] [293] [294] [295] [296] [297] [298] [299] [300] [301] [302] [303] [304] [305]

Backbone.JS

A close runner-up to Angular.JS in terms of popularity, Backbone.JS follows a similar concept of templating/eventing and "data placeholders", but has some differences in features and implementation.

[306]


Isomorphic

Knockout.JS

[307] [308] [309] [310] [311] [312] [313] [314] [315] [316] [317] [318] [319] [320] [321] [322] [323] [324] [325] [326] [327] [328] [329] [330]


Vue.JS

[332] [333] [334] [335] [336] [337] [338] [339] [340] [341] [342] [343] [344] [345] [346] [347] [348] [349] [350] [351] [352] [353] [354] [355] [356] [357] [358] [359] [360] [361] [362] [363] [364] [365] [366] [367] [368] [369] [370] [371] [372] [373] [374] [375] [376] [377] [378] [379] [380] [381] [382] [383] [384] [385] [386] [387] [388] [389] [390] [391] [392] [393] [394] [395] [396] [397] [398] [399] [400]

React.JS

[409] [410] [411] [412] [413] [414] [415] [416] [417] [418] [419] [420] [421] [422] [423] [424] [425] [426] [427] [428] [429] [430] [431] [432] [433] [434] [435] [436] [437] [438] [439] [440] [441] [442] [443] [444] [445] [446] [447] [448] [449] [450] [451] [452] [453] [454] [455] [456] [457] [458] [459] [460] [461] [462] [463] [464] [465] [466] [467] [468] [469] [470] [471] [472] [473] [474] [475] [476] [477] [478] [479] [480] [481] [482] [483]

[484] [485]

[486] [487] [488]

SWR

[489] [490]

ReactNative

[494] [495] [496] [497] [498] [499] [500] [501] [502] [503] [504] [505] [506] [507] [508] [509] [510] [511] [512] [513]

[514] [515] [516] [517] [518] [519] [520] [521] [522] [523] [524] [525] [526] [527] [528] [529] [530] [531] [532] [533] [534] [535]

[536] [537] [538] [539] [540] [541] [542] [543]

[544] [545] [546] [547] [548] [549] [550]


Svelte

Svelte's selling points over other emerging JS frameworks are:

  1. Write less code - Build boilerplate-free components using languages you already know — HTML, CSS and JavaScript
  2. No virtual DOM - Svelte compiles your code to tiny, framework-less vanilla JS — your app starts fast and stays fast
  3. Truly reactive - No more complex state management libraries — Svelte brings reactivity to JavaScript itself

[551] [552]


Desktop

Electron

[553]


Other


Tools

Transpiling

You might not need JavaScript: http://youmightnotneedjs.com/

Builds

[567] [568] [569] [570] [571]

Optimization

Minifying

Obfuscation

Packing

Unpacking


Testing


Code Documentation

[584]


Javascript Engine


Editors


Resources



Tutorials

[600] [601] [602] [603] [604] [605]


External Links

[641] [642]

[646] [647] [648] [649] [650] [651]


References

  1. Douglas Crockford's site on JavaScript: http://javascript.crockford.com/
  2. Brendan Eich - Proxies are Awesome!: http://jsconf.eu/2010/speaker/be_proxy_objects.html
  3. A Homepage for the JavaScript Specification: https://hacks.mozilla.org/2019/03/a-homepage-for-the-javascript-specification/
  4. wikipedia: ECMAScript
  5. Moz Dev -- Subresource Integrity (SRI): https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity
  6. Do not let your CDN betray you -- Use Subresource Integrity: https://hacks.mozilla.org/2015/09/subresource-integrity-in-firefox-43/
  7. JS Standard style guide - GitHub repo: http://github.com/feross/standard
  8. Why I Use a JavaScript Style Guide and Why You Should Too: https://www.sitepoint.com/why-use-javascript-style-guide/
  9. jQuery - JS style guide: https://contribute.jquery.org/style-guide/js/
  10. Airbnb JavaScript Style Guide: https://github.com/airbnb/javascript
  11. Google - JavaScript Style Guide: https://google.github.io/styleguide/javascriptguide.xml
  12. Google Reveals its HTML, CSS and JavaScript Style Guides: https://www.sitepoint.com/google-html-css-javascript-style-guides/
  13. JavaScript equality table: https://dorey.github.io/JavaScript-Equality-Table/
  14. wikipedia: Fault-tolerant system
  15. Behavioral Separation: http://www.alistapart.com/articles/behavioralseparation
  16. Remove Render-Blocking JavaScript: https://developers.google.com/speed/docs/insights/BlockingJS
  17. script (defer) doesn't work in IE<=9: https://github.com/h5bp/lazyweb-requests/issues/42 (workarounds & research on "DEFER" script attribute alternative)
  18. Can't append <script> element: http://stackoverflow.com/a/3603496
  19. Where is the best place to put <script> tags in HTML markup?: http://stackoverflow.com/questions/436411/where-is-the-best-place-to-put-script-tags-in-html-markup
  20. JavaScript and the end of progressive enhancement: http://skilldrick.co.uk/2011/05/javascript-and-the-end-of-progressive-enhancement/
  21. Pragmatic Progressive Enhancement: http://www.zachleat.com/web/pragmatic/
  22. A Complete Guide to Progressive Enhancement: http://www.webdesignerdepot.com/2010/08/a-complete-guide-to-progressive-enhancement/
  23. Progressive Enhancement - What it is and how to use it: http://coding.smashingmagazine.com/2009/04/22/progressive-enhancement-what-it-is-and-how-to-use-it/
  24. wikipedia: Adapter pattern
  25. Polyfill.io: https://polyfill.io/ | DOCS
  26. Polyfills and the evolution of the Web: https://www.w3.org/2001/tag/doc/polyfills/
  27. What is the difference between a shim and a polyfill?: https://stackoverflow.com/questions/6599815/what-is-the-difference-between-a-shim-and-a-polyfill
  28. WebComponents - Polyfills: https://www.webcomponents.org/polyfills
  29. Polymer Project - Polyfills: https://www.polymer-project.org/2.0/docs/polyfills
  30. Introduction To Polyfills & Their Usage: https://medium.com/beginners-guide-to-mobile-web-development/introduction-to-polyfills-their-usage-9cd6db4b1923
  31. WebXR Polyfill: https://github.com/immersive-web/webxr-polyfill
  32. Scripts -- async, defer: https://javascript.info/script-async-defer
  33. Script Tag - async & defer: https://stackoverflow.com/questions/10808109/script-tag-async-defer
  34. How to Defer Parsing of JavaScript in WordPress (4 Methods): https://kinsta.com/blog/defer-parsing-of-javascript/
  35. JavaScript Events: https://www.javascripttutorial.net/javascript-dom/javascript-events/
  36. stopPropagation() Event Method: https://www.w3schools.com/jsref/event_stoppropagation.asp
  37. JavaScript event loops, call stack and heap visualized; https://youtu.be/8aGhZQkoFbQ
  38. Loupe - callstack visualizer tool: http://latentflip.com/loupe
  39. How can I attach a window resize event listener in JavaScript?: https://stackoverflow.com/questions/13651274/how-can-i-attach-a-window-resize-event-listener-in-javascript
  40. Correct usage of addEventListener() / attachEvent()?: https://stackoverflow.com/questions/2657182/correct-usage-of-addeventlistener-attachevent/10896968
  41. JS adding multiple event listeners to one element: https://stackoverflow.com/questions/11845678/adding-multiple-event-listeners-to-one-element
  42. HTML DOM removeEventListener() method to stop listening on particular action: https://www.w3schools.com/jsref/met_element_removeeventlistener.asp
  43. Array.prototype.findIndex(): https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/findIndex
  44. Alternative or polyfill for Array.from on Internet Explorer: https://stackoverflow.com/questions/36810940/alternative-or-polyfill-for-array-from-on-the-internet-explorer/62682524#62682524
  45. Loop through key value pairs from an associative array with Javascript: http://www.electrictoolbox.com/loop-key-value-pairs-associative-array-javascript/
  46. How to get index of an object in an associative array?: https://stackoverflow.com/questions/9273157/javascript-how-to-get-index-of-an-object-in-an-associative-array
  47. 3 Ways to Check If an Object Has a Property in JavaScript: https://dmitripavlutin.com/check-if-object-has-property-javascript/
  48. JavaScript - Associative Arrays; Considered Harmful: http://andrewdupont.net/2006/05/18/javascript-associative-arrays-considered-harmful/
  49. Javascript Associative Arrays considered harmful: http://ajaxian.com/archives/javascript-associative-arrays-considered-harmful
  50. Hash Tables in Javascript -- Constructing a Hash Table Implementation for Javascript: http://www.mojavelinux.com/articles/javascript_hashes.html
  51. Understanding Higher-Order Functions in JavaScript: https://blog.bitsrc.io/understanding-higher-order-functions-in-javascript-75461803bad
  52. A Guide To The Reduce Method In Javascript​: https://www.freecodecamp.org/news/reduce-f47a7da511a9/
  53. How to Transform Any Data Structure with Reduce: https://emberigniter.com/transform-any-data-structure-with-javascript-reduce/
  54. Javascript Reduce With Examples: https://medium.com/swlh/javascript-reduce-with-examples-570f1b51e854
  55. The JavaScript Reduce Method Explained: https://www.digitalocean.com/community/tutorials/js-finally-understand-reduce
  56. Get the first key name of a JavaScript object: https://stackoverflow.com/questions/3298477/get-the-first-key-name-of-a-javascript-object
  57. Get object size in JS: https://www.hacksparrow.com/javascript/get-object-size.html
  58. Why "Named Arguments" are better than "Positional Arguments" (and why destructuring is even better than JS Object-passing): https://blog.bitsrc.io/javascript-why-named-arguments-are-better-than-positional-arguments-9b15ab3155ef
  59. 3 Practical Uses of Object Destructuring in JavaScript: https://medium.com/better-programming/3-practical-uses-of-object-destructuring-in-javascript-a2c34ce3367b
  60. How to loop through objects keys and values in Javascript?: https://flexiple.com/loop-through-object-javascript/
  61. Composing Software - An Introduction: https://medium.com/javascript-scene/composing-software-an-introduction-27b72500d6ea
  62. An introduction to Object-Oriented Programming in JavaScript: https://medium.com/free-code-camp/an-introduction-to-object-oriented-programming-in-javascript-8900124e316a
  63. OOP in JS, Part 1 - Public/Private Variables and Methods: http://phrogz.net/js/classes/OOPinJS.html
  64. OOP in JS, Part 2 - Inheritance: http://phrogz.net/js/classes/OOPinJS2.html
  65. The Two Pillars of JavaScript -- Part 1 - How to Escape the 7th Circle of Hell: https://medium.com/javascript-scene/the-two-pillars-of-javascript-ee6f3281e7f3
  66. Why you should not modify a JavaScript object prototype: https://flaviocopes.com/javascript-why-not-modify-object-prototype/
  67. How we avoided if/else and wrote extendable code with Strategy Pattern: https://itnext.io/how-we-avoided-if-else-and-wrote-extendable-code-with-strategy-pattern-256e34b90caf
  68. Master the JavaScript Interview: What’s the Difference Between Class & Prototypal Inheritance?: https://medium.com/javascript-scene/master-the-javascript-interview-what-s-the-difference-between-class-prototypal-inheritance-e4cd0a7562e9
  69. JavaScript Class vs Prototype - Organizing JavaScript Code: https://dzone.com/articles/javascript-class-vs-prototype-organizing-javascrip
  70. How do JavaScript closures work under the hood: https://dmitryfrank.com/articles/js_closures
  71. Master the JavaScript Interview - What is a Closure?: https://medium.com/javascript-scene/master-the-javascript-interview-what-is-a-closure-b2f0d2152b36
  72. Closure - Stateful Function: https://medium.com/@thanhnguyentien/closure-stateful-function-e2a18690e549
  73. JavaScript Closures: https://www.w3schools.com/js/js_function_closures.asp
  74. More closure examples: http://www.javascriptkit.com/javatutors/closures2.shtml
  75. JavaScript Naming Convention best practices: https://medium.com/javascript-in-plain-english/javascript-naming-convention-best-practices-b2065694b7d
  76. JavaScript best practices — Designing functions: https://medium.com/swlh/javascript-best-practices-designing-functions-1632838c5074
  77. Javascript setInterval clearInterval within closure Simple Example Not Working Explained?: https://stackoverflow.com/questions/18957186/javascript-setinterval-clearinterval-simple-example-not-working-explained
  78. Is there any difference between 'currying' and 'closure' in JavaScript?: https://www.quora.com/Is-there-any-difference-between-currying-and-closure-in-JavaScript
  79. Closures, Partial Application and Currying: Effective Functional JavaScript: https://hackernoon.com/ingredients-of-effective-functional-javascript-closures-partial-application-and-currying-66afe055102a
  80. What is the difference between currying and partial application?: https://stackoverflow.com/questions/218025/what-is-the-difference-between-currying-and-partial-application
  81. From Closures to Curry and Compose: https://medium.com/sngular-devs/from-closures-to-curry-and-compose-197d2abcadd8
  82. wikipedia: Immediately invoked function expression
  83. What Are CJS, AMD, UMD, ESM, System, and IIFE?: https://betterprogramming.pub/what-are-cjs-amd-umd-esm-system-and-iife-3633a112db62
  84. IIFE in JavaScript - What Are Immediately Invoked Function Expressions?: https://www.freecodecamp.org/news/iife-in-javascript-what/
  85. What is the (function() { } )() construct in JavaScript?: https://stackoverflow.com/questions/8228281/what-is-the-function-construct-in-javascript
  86. Immediately Invoked Function Expression (IIFE): https://www.javatpoint.com/es6-immediately-invoked-function-expression
  87. JavaScript - Immediately Invoked Function Expressions (IIFE): https://www.geeksforgeeks.org/javascript-immediately-invoked-function-expressions-iife/
  88. Immediately-Invoked Function Expression (IIFE): https://benalman.com/news/2010/11/immediately-invoked-function-expression/
  89. Get a Cookie - Javascript: http://www.brenz.net/cookies/get_cookie.asp
  90. JavaScript and Cookies: http://www.tutorialspoint.com/javascript/javascript_cookies.htm
  91. Using cookies: http://www.howtocreate.co.uk/tutorials/javascript/cookies
  92. jQuery JSON Cookie Plugin: http://lab.distilldesign.com/json-cookie/
  93. JSON JavaScript cookies: http://www.phpied.com/json-javascript-cookies/
  94. JSON cookies with PHP: http://ryan.ifupdown.com/2009/07/26/json-cookies-with-php/
  95. (Prototype.js) Cookie Jar -- Yummy JSON Cookies: http://www.lalit.org/lab/jsoncookies
  96. Tracking without Cookies: http://www.thespanner.co.uk/2007/07/10/tracking-without-cookies/
  97. JavaScript adding "click" event listener by CSS class: https://stackoverflow.com/questions/21700364/javascript-adding-click-event-listener-to-class
  98. Javascript .querySelector find <div> by innerTEXT: https://stackoverflow.com/questions/37098405/javascript-queryselector-find-div-by-innertext
  99. getElementsByClassName() doesn't work in old Internet Explorers like IE6, IE7, IE8: https://stackoverflow.com/questions/6584635/getelementsbyclassname-doesnt-work-in-old-internet-explorers-like-ie6-ie7-i/25054465#25054465
  100. JavaScript querySelector examples: https://www.javascripttutorial.net/javascript-dom/javascript-queryselector/
  101. JavaScript basics - 2 ways to get child elements with JavaScript: https://mrfrontend.org/2017/10/2-ways-get-child-elements-javascript/
  102. Why does getElementById not work on elements inside the document element?: https://stackoverflow.com/questions/16475636/why-does-getelementbyid-not-work-on-elements-inside-the-document-element
  103. A Bunch of Options for Looping Over querySelectorAll NodeLists: https://css-tricks.com/a-bunch-of-options-for-looping-over-queryselectorall-nodelists/
  104. How to convert a NodeList to an array in JavaScript: https://attacomsian.com/blog/javascript-convert-nodelist-to-array
  105. Remove empty elements from an array in Javascript: https://stackoverflow.com/questions/281264/remove-empty-elements-from-an-array-in-javascript
  106. querySelector and querySelectorAll vs getElementsByClassName and getElementById in JavaScript: https://stackoverflow.com/questions/14377590/queryselector-and-queryselectorall-vs-getelementsbyclassname-and-getelementbyid
  107. W3schools -- JS getAttribute: https://www.w3schools.com/jsref/met_element_getattribute.asp
  108. getAttributes (DOMNode - JavaScript): https://help.hcltechsw.com/dom_designer/beta/12.0.1/reference/r_wpdr_dom6_domnode_getattributes_r.html
  109. Get all Attributes from a HTML element with Javascript/jQuery: https://stackoverflow.com/questions/2048720/get-all-attributes-from-a-html-element-with-javascript-jquery
  110. W3schoools -- another place to put above loadXMLString code snippet: https://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_document_getelementsbytagname
  111. W3schools -- View the sample books.xml file: http://www.w3schools.com/DOM/books.xml
  112. W3schools -- AJAX XML Example: https://www.w3schools.com/js/js_ajax_xmlfile.asp
  113. W3schools -- loadXMLString: https://www.w3schools.com/xml/xml_parser.asp
  114. MozDev -- DOM Parser: https://developer.mozilla.org/en-US/docs/Web/API/DOMParser/parseFromString
  115. W3schools -- loadXMLString: https://w3schools.sinsixx.com/dom/dom_loadxmldoc.asp.htm#table30
  116. XML parsing of a variable string in JavaScript: https://stackoverflow.com/questions/649614/xml-parsing-of-a-variable-string-in-javascript
  117. loadXML method (XMLDocument): http://help.dottoro.com/ljadewkq.php
  118. XML parsing of a variable string in JavaScript: https://www.py4u.net/discuss/273977
  119. Javascript Promises/Q library (SLIDES): https://www.slideshare.net/async_io/javascript-promisesq-library-17206726
  120. Q lib -- examples gallery: https://github.com/kriskowal/q/wiki/Examples-Gallery
  121. Q.js examples: https://gist.github.com/guptag/7205768
  122. Q.js - Using deferred: https://stackoverflow.com/questions/12505850/q-js-using-deferred
  123. How to Use Deferred Objects in JavaScript: https://www.youtube.com/watch?v=dCSrw90yWX8
  124. Access to headers in request-promise get response: https://stackoverflow.com/questions/39234359/access-to-headers-in-request-promise-get-response
  125. Are there still reasons to use promise libraries like Q or BlueBird now that we have ES6 promises?: https://stackoverflow.com/questions/34960886/are-there-still-reasons-to-use-promise-libraries-like-q-or-bluebird-now-that-we
  126. Second Look at Promises using Native ES6 vs. q.js: https://scotthannen.org/blog/2016/03/03/second-look-at-promises-native-es6.html
  127. W3schools -- JS - Promises: https://www.w3schools.com/Js/js_promise.asp
  128. MozDev -- JS -- Promises: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise
  129. MozDev -- JS -- Using Promises: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Using_promises
  130. JavaScript Promises - A tutorial with examples: https://www.toptal.com/javascript/javascript-promises
  131. Promise chaining example: https://gist.github.com/domenic/2431341
  132. JavaScript Promise explained with examples: https://dotnettutorials.net/lesson/javascript-promise/
  133. Show/Hide solution: http://sonspring.com/journal/show-hide-solution
  134. Traditional Div Show/Hide revised: http://www.scriptygoddess.com/archives/2004/01/06/another-revision-to-the-showhide-script/
  135. Unobtrusive Show/Hide: http://www.bobbyvandersluis.com/articles/unobtrusive_show_hide/index.html
  136. How to hide, show, or toggle your div: http://www.randomsnippets.com/2008/02/12/how-to-hide-and-show-your-div/
  137. Show & Hide Layers: http://www.geocities.com/technofundo/tech/js/showhide.html
  138. JavaScript Source's Show/Hide DIV layers: http://javascriptsource.com/miscellaneous/show-hide-a-div.html
  139. Show/Hide content using DIVs: http://www.webmasterworld.com/forum91/441.htm
  140. jQuery simple show/hide solution: http://jsfiddle.net/cse_tushar/6FzSb/
  141. Check if element is visible in DOM: http://stackoverflow.com/questions/19669786/check-if-element-is-visible-in-dom
  142. jQuery simple show/hide solution + HASH navigation: http://jsfiddle.net/bcmoney/dumLmvn7/ (UPDATED to allow external link-based navigation into DOM items not displayed yet)
  143. JavaScript date validation: http://www.redips.net/javascript/date-validation/
  144. Learn to validate input fields that require numeric (check negative, positive, decimal) or money values using Javascript: http://www.erobosoftware.com/scripts/javascript/scripts_code.php?id=22&section=Javascript&division=Forms
  145. FULL Browser & OS detection (in JS and/or PHP): http://techpatterns.com/downloads/javascript_browser_detection.php
  146. Operating System through navigator object: http://www.javascripter.net/faq/operatin.htm
  147. Apple on Object Detection: http://developer.apple.com/internet/webcontent/objectdetection.html
  148. Beginner's Guide to Node.JS: http://nodeguide.com/beginner.html
  149. A Quickstart for Node.JS: http://www.ixxus.com/blog201209quick-start-nodejs/
  150. Node.js overview for Java Developers: https://dzone.com/articles/what-is-nodejs-for-java-developers
  151. How to Implement Node + React Isomorphic JavaScript & Why it Matters : https://strongloop.com/strongblog/node-js-react-isomorphic-javascript-why-it-matters/
  152. Node.js and the new web front-end: http://www.nczonline.net/blog/2013/10/07/node-js-and-the-new-web-front-end/
  153. Node.js is genuinely exciting: http://blog.simonwillison.net/post/57956855516/node
  154. Node.JS - IRC client example from Ryan Dahl's original NodeJS demo/talk: https://gist.github.com/ry/a3d0bbbff196af633995
  155. JSConf EU 2018 -- Ryan Dahl - 10 Things I Regret About Node.js: https://www.youtube.com/watch?v=M3BM9TB-8yA
  156. Ryan Dahl’s Node.js regrets lead to Deno project: https://www.infoworld.com/article/3283250/node-js/ryan-dahls-nodejs-regrets-lead-to-deno.html
  157. "Intro to Node.JS" talk - by founder Ryan Dahl (2009): http://s3.amazonaws.com/four.livejournal/20091117/jsconf.pdf
  158. An Introduction to Node.js (Part 1): https://dzone.com/articles/introduction-to-nodejs-3
  159. An Introduction to Node.js (Part 2): https://dzone.com/articles/an-introduction-to-nodejs-part-2
  160. How to use NodeJS without frameworks and external libraries: https://hackernoon.com/how-to-use-nodejs-without-frameworks-and-external-libraries-97eb6acac9e3
  161. Nodejs C++/JS Boundary: Crossing The Rubicon: https://blog.bitsrc.io/nodejs-c-js-boundary-crossing-the-rubicon-c9c5511907a2
  162. Introduction to Glitch for Node.js Apps in the Cloud: https://blog.bitsrc.io/introduction-to-glitch-for-node-js-apps-in-the-cloud-cd263de5683f
  163. How to get the current directory in Node.js: https://attacomsian.com/blog/nodejs-get-current-directory
  164. Streaming File Uploads with Node.js: http://debuggable.com/posts/streaming-file-uploads-with-node-js:4ac094b2-b6c8-4a7f-bd07-28accbdd56cb
  165. OWASP Node Goat Project: https://owasp.org/www-project-node.js-goat/ | DEMO | SRC (intentionally vulnerable NodeJS sample app, for use in "NodeJS Penetration Testing training" and/or Developer education on common issues and remediation, as well as Red/Blue/Purple Team activities)
  166. How to change Node.js's console font color?: https://stackoverflow.com/questions/9781218/how-to-change-node-jss-console-font-color (without introducing a dependency and getting hacked like with NPM colors | SRC)
  167. Open source maintainer pulls the plug on npm packages colors and faker, now what?: https://snyk.io/blog/open-source-npm-packages-colors-faker/
  168. Dev corrupts NPM libs 'colors' and 'faker' breaking thousands of apps: https://www.bleepingcomputer.com/news/security/dev-corrupts-npm-libs-colors-and-faker-breaking-thousands-of-apps/
  169. Node.js Server-Side JavaScript Injection Detection & Exploitation: https://blog.gdssecurity.com/labs/2015/4/15/nodejs-server-side-javascript-injection-detection-exploitati.html
  170. Hacking NodeJS & MongoDB: https://blog.websecurify.com/2014/08/hacking-nodejs-and-mongodb.html
  171. Nodejs Security - Command Injection: https://hackernoon.com/nodejs-security-issue-javascript-node-example-tutorial-vulnerabilities-hack-line-url-command-injection-412011924d1b
  172. Exploiting WebSocket (Application Wide XSS / CSRF): https://medium.com/@osamaavvan/exploiting-websocket-application-wide-xss-csrf-66e9e2ac8dfa
  173. Bypassing a restrictive JS sandbox: https://licenciaparahackear.github.io/en/posts/bypassing-a-restrictive-js-sandbox/
  174. Node-gyp lib: https://www.npmjs.com/package/node-gyp
  175. Node-gyp. MSBuild.exe` failed with exit code: 1: https://stackoverflow.com/questions/46225835/node-gyp-msbuild-exe-failed-with-exit-code-1
  176. Updating npm when using nvm-windows: https://teknotopnews.com/otomotif-https-stackoverflow.com/questions/54652381/updating-npm-when-using-nvm-windows
  177. Node.js is Cancer (or a scalability disaster waiting to happen): http://web.archive.org/web/20120104233829/http://teddziuba.com/2011/10/node-js-is-cancer.html
  178. Node.js -- Doctor’s Offices .vs. Fast Food Restaurants – Understanding Event-driven Programming: http://code.danyork.com/2011/01/25/node-js-doctors-offices-and-fast-food-restaurants-understanding-event-driven-programming/
  179. How to Interact With a Database Using the Async Module in Node.js: https://dzone.com/articles/how-to-interact-with-a-database-using-the-async-mo
  180. Workaround for Database Bind Issues (Oracle PL/SQL Stored Procedure integration to Node.JS): https://dzone.com/articles/workaround-for-using-node-oracledb-with-a-plsql-ou (must be defined as a function and force to output results as text)
  181. How can I pass a variable while using `require` in node.js?: https://stackoverflow.com/questions/9146980/how-can-i-pass-a-variable-while-using-require-in-node-js
  182. How to detect if script is running in browser or in Node.js?: https://stackoverflow.com/questions/34550890/how-to-detect-if-script-is-running-in-browser-or-in-node-js
  183. Netflix migrating 1/2 of their API to Node.js: https://www.reddit.com/r/node/comments/8i8jzq/netflix_migrating_12_of_their_api_to_nodejs/
  184. The definitive Node.js handbook: https://medium.freecodecamp.org/the-definitive-node-js-handbook-6912378afc6e
  185. How do I debug Node.js applications?: https://stackoverflow.com/questions/1911015/how-do-i-debug-node-js-applications
  186. Requiring modules in Node.js -- Everything you need to know: https://medium.freecodecamp.org/requiring-modules-in-node-js-everything-you-need-to-know-e7fbd119be8
  187. ncp - Asynchronous recursive file & directory copying: https://www.npmjs.com/package/ncp
  188. node.js ncp | fs.readdir | missing files | use of callback: https://stackoverflow.com/questions/50020179/node-js-ncp-fs-readdir-missing-files-use-of-callback
  189. Check synchronously if file/directory exists in Node.js: https://stackoverflow.com/questions/4482686/check-synchronously-if-file-directory-exists-in-node-js
  190. Fixing npm permissions: https://github.com/mixonic/docs.npmjs.com/blob/master/content/getting-started/fixing-npm-permissions.md
  191. Update Now! Node.js version 8.x is Not Supported from 2020: https://blog.risingstack.com/update-nodejs-8-end-of-life-no-support/
  192. HOW TO CLEAN UP YOUR JAVASCRIPT BUILD WITH TREE SHAKING: https://web.archive.org/web/20190731133056/https://www.engineyard.com/blog/tree-shaking
  193. Minification is not enough, you need tree shaking: http://blog.sethladd.com/2013/01/minification-is-not-enough-you-need.html
  194. Tree-shaking versus dead code elimination: https://medium.com/@Rich_Harris/tree-shaking-versus-dead-code-elimination-d3765df85c80
  195. Failed to exec start script - EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/lifecycle.js:279:16): https://stackoverflow.com/questions/49446277/failed-to-exec-start-script-eventemitter-anonymous-usr-local-lib-node-modu
  196. How one developer just broke Node, Babel and thousands of projects in 11 lines of JavaScript: https://www.theregister.com/2016/03/23/npm_left_pad_chaos/
  197. Local Lambda development challenges (with NodeJS): https://advancedweb.hu/lambda-development-toolbox-set-environment-variables-locally/
  198. Meta Open Source to donate Jest to the OpenJS Foundation: https://sdtimes.com/softwaredev/meta-open-source-to-donate-jest-to-the-openjs-foundation/
  199. Node.js Unit Testing (with JEST) get started quickly with examples: https://www.testim.io/blog/node-js-unit-testing-get-started-quickly-with-examples/
  200. Trying ES6 style import gives 'Cannot use import statement outside a module': https://stackoverflow.com/questions/59042716/trying-es6-style-import-gives-cannot-use-import-statement-outside-a-module
  201. Mocha + TypeScript: Cannot use import statement outside a module Code Answer: https://www.tutorialguruji.com/node-js/mocha-typescript-cannot-use-import-statement-outside-a-module/
  202. Node.js -- "SyntaxError: Cannot use import statement outside a module": https://stackoverflow.com/questions/62488898/node-js-syntaxerror-cannot-use-import-statement-outside-a-module
  203. Mocha + TypeScript -- Cannot use import statement outside a module: https://stackoverflow.com/questions/60993812/mocha-typescript-cannot-use-import-statement-outside-a-module
  204. error 'env' is not recognized as an internal or external command?: https://stackoverflow.com/questions/41254781/error-env-is-not-recognized-as-an-internal-or-external-command
  205. Writing unit tests in TypeScript: https://chiragrupani.medium.com/writing-unit-tests-in-typescript-d4719b8a0a40
  206. I See Deno in Your Future: https://www.bitquabit.com/post/i-see-deno-in-your-future/
  207. npm install vs sudo npm install -g: https://stackoverflow.com/questions/20264157/npm-install-vs-sudo-npm-install-g
  208. Fixing intermittant 'EPERM: operation not permitted' on npm install: https://alastaircrabtree.com/fixing-intermittant-eperm-operation-not-permitted-on-npm-install/
  209. npm ERR! Error -- EPERM - operation not permitted, rename: https://stackoverflow.com/questions/39293636/npm-err-error-eperm-operation-not-permitted-rename
  210. Snyk - NodeJS dependency security analysis tool: https://snyk.io/
  211. yarn vs npm -- Everything You Need to Know: https://www.sitepoint.com/yarn-vs-npm/
  212. An Absolute Beginner's Guide to Using npm: https://dzone.com/articles/an-absolute-beginners-guide-to-using-npm-1
  213. Upload Files Or Images To Server Using Node.js: http://dzone.com/articles/upload-files-or-images-to-server-using-nodejs
  214. Using Resources from npm on CodePen: https://blog.codepen.io/2017/08/11/using-resources-npm-codepen/
  215. How to setup Node.js & NPM behind a corporate web proxy: https://jjasonclark.com/how-to-setup-node-behind-web-proxy/
  216. NPM Behind A Proxy Server: https://forum.freecodecamp.org/t/npm-behind-a-proxy-server/19386
  217. Set and reset proxy for git and npm connection : http://jonathanblog2000.blogspot.com/2013/11/set-and-reset-proxy-for-git-and-npm.html
  218. How to clear https proxy setting of NPM?: https://stackoverflow.com/questions/21228995/how-to-clear-https-proxy-setting-of-npm
  219. How to use NPM Install (The Command) behind Corporate Proxy Server: https://www.c-sharpcorner.com/article/how-to-use-npm-install-the-command-behind-corporate-proxy-server/
  220. Fix the infamous "npm ERR cb() never called" error: https://stackoverflow.com/questions/15393821/npm-err-cb-never-called
  221. Node error npm ERR! cb() never called: https://stackoverflow.com/questions/49744843/node-error-npm-err-cb-never-called
  222. STARTING NODE FOREVER SCRIPTS AT BOOT W/ CENTOS: http://blog.aronduby.com/starting-node-forever-scripts-at-boot-w-centos/
  223. You don’t know Node: https://medium.com/@samerbuna/you-dont-know-node-6515a658a1ed
  224. How we make npm packages work in the browser: https://hackernoon.com/how-we-make-npm-packages-work-in-the-browser-announcing-the-new-packager-6ce16aa4cee6
  225. Introducing the npm semantic version calculator: https://blog.npmjs.org/post/115305091285/introducing-the-npm-semantic-version-calculator
  226. Everything You Wanted To Know About “package-lock.json” But Were Too Afraid To Ask: https://medium.com/coinmonks/everything-you-wanted-to-know-about-package-lock-json-b81911aa8ab8
  227. Why npm Scripts?: https://css-tricks.com/why-npm-scripts/
  228. Why I Left Gulp and Grunt for npm Scripts: https://medium.freecodecamp.org/why-i-left-gulp-and-grunt-for-npm-scripts-3d6853dd22b8
  229. Task automation with npm run -- using the scripts field: https://web.archive.org/web/20131121035826/https://substack.net/task_automation_with_npm_run
  230. Advanced front-end automation with npm scripts: https://www.youtube.com/watch?v=0RYETb9YVrk
  231. How to Use npm as a Task Runner: blog.teamtreehouse.com/use-npm-task-runner
  232. How I automated my job with Node.js: https://medium.com/dailyjs/how-i-automated-my-job-with-node-js-94bf4e423017
  233. Automated Tests in Node.js: https://www.davidbaumgold.com/tutorials/automated-tests-node/
  234. Advanced Unit Testing Tools For Node.Js: http://blog.wercker.com/advanced-unit-testing-tools-for-node-js
  235. NPM -- source-map-explorer: https://www.npmjs.com/package/source-map-explorer (analyze & debug JavaScript/Sass/LESS code bloat through source maps)
  236. "npm-run-all" tool: https://github.com/mysticatea/npm-run-all (A CLI tool to run multiple npm-scripts in parallel or sequential)
  237. npm’s 2019 JavaScript Ecosystem Survey Shows 63% of Respondents are Using React: https://wptavern.com/npms-2019-javascript-ecosystem-survey-shows-63-of-respondents-are-using-react
  238. 13 npm Tricks for Faster JavaScript Development: https://medium.com/@bretcameron/13-npm-tricks-for-faster-javascript-development-4fe2a83f87a2
  239. Adding a Dynamic Calendar to HarpJS: http://java.dzone.com/articles/adding-dynamic-calendar-harpjs
  240. Testing Modular Front-end in JS: https://frontendmasters.com/courses/testing-modular-front-end/
  241. Using Mocha JS, Chai JS and Sinon JS to Test your Frontend JavaScript Code: https://blog.codeship.com/mocha-js-chai-sinon-frontend-javascript-code-testing-tutorial/
  242. Automating MochaJS Tests for a Node.js App: https://www.distelli.com/docs/tutorials/automated-mocha-tests-for-node/
  243. Testing Node.js With Mocha and Chai: http://mherman.org/blog/2015/09/10/testing-node-js-with-mocha-and-chai/
  244. Unit Test Your JavaScript Using Mocha and Chai: https://www.sitepoint.com/unit-test-javascript-mocha-chai/
  245. Is Node.js overrated?: https://www.quora.com/Is-Node-js-overrated
  246. NPM vs. Bower vs. Browserify vs. Gulp vs. Grunt vs. Webpack: https://stackoverflow.com/questions/35062852/npm-vs-bower-vs-browserify-vs-gulp-vs-grunt-vs-webpack
  247. Gulp vs Grunt vs Webpack: Comparison of (Node.JS) Build Tools & Task Runners: https://da-14.com/blog/gulp-vs-grunt-vs-webpack-comparison-build-tools-task-runners
  248. Here’s how you can actually use Node environment variables: https://medium.freecodecamp.org/heres-how-you-can-actually-use-node-environment-variables-8fdf98f53a0a
  249. How one developer just broke Node, Babel and thousands of projects in 11 lines of JavaScript: https://www.theregister.co.uk/2016/03/23/npm_left_pad_chaos/
  250. Monorepos Made Easier with Bit & NPM: https://blog.bitsrc.io/monorepo-architecture-simplified-with-bit-and-npm-b1354be62870
  251. React.JS, Bit & NPM -- Movie App: https://github.com/teambit/movie-app (sample React.JS application deconstructed to Bit components, to be a shared-library)
  252. Node.js Open Source of the Month (v.June 2018): https://medium.mybridge.co/node-js-open-source-of-the-month-v-june-2018-df256be9dac5
  253. How do I determine the current operating system with Node.js: https://stackoverflow.com/questions/8683895/how-do-i-determine-the-current-operating-system-with-node-js
  254. How to install and run lessc on top of node.js and Windows?: https://stackoverflow.com/questions/16492940/how-to-install-and-run-lessc-on-top-of-node-js-and-windows
  255. Global npm install location on windows?: https://stackoverflow.com/questions/33819757/global-npm-install-location-on-windows
  256. 5 Typical Responses From Oracle JET's Unofficial World Tour: https://blogs.oracle.com/geertjan/five-typical-responses-from-oracle-jets-unofficial-world-tour
  257. You don't (may not) need Lodash/Underscore: https://github.com/you-dont-need/You-Dont-Need-Lodash-Underscore
  258. Differences between Lodash and Underscore.js: https://stackoverflow.com/questions/13789618/differences-between-lodash-and-underscore-js
  259. 10 Lodash Features You Can Replace with ES6: https://www.sitepoint.com/lodash-features-replace-es6/
  260. You might not need lodash (in your ES2015+ project): https://xebia.com/blog/you-might-not-need-lodash-in-your-es2015-project/
  261. Why You shouldn’t use lodash anymore and use pure JavaScript instead: https://codeburst.io/why-you-shouldnt-use-lodash-anymore-and-use-pure-javascript-instead-c397df51a66
  262. Pure JavaScript Functions as a Replacement for Lodash: https://blog.bitsrc.io/you-dont-need-lodash-or-how-i-started-loving-javascript-functions-3f45791fa6cd
  263. You Might Not Need Lodash: https://dev.to/antjanus/you-might-not-need-lodash--khj
  264. Redux, normalised entities and lodash merge: https://stackoverflow.com/questions/41872065/redux-normalised-entities-and-lodash-merge
  265. What is the best JS templating framework?: http://www.quora.com/JavaScript/What-is-the-best-JavaScript-templating-framework-and-why
  266. JS micro-templating: http://ejohn.org/blog/javascript-micro-templating/
  267. wikipedia: AngularJS
  268. Angular vs React vs Vue — Getting Started: https://dzone.com/articles/angular-vs-react-vs-vue-getting-started
  269. Five Common Angular Mistakes: http://java.dzone.com/articles/five-common-angular-mistakes
  270. I'm Not Mocking (literally, as in "making fun of" not "Mock test" or "Mock-up") You, Just Your AngularJS Tests: http://java.dzone.com/articles/im-not-mocking-you-just-your (a suggestions for better way to create interface/wrapper around external REST services in AngularJS)
  271. Learn Angular JS -- Getting Started: http://www.creativedev.in/2015/06/learn-angular-js-getting-started/
  272. How to Share Data Between Controllers in AngularJS : http://java.dzone.com/articles/how-share-data-between
  273. Dependency Injection in Angular 1 .vs. Angular 2: http://dzone.com/articles/dependency-injection-in-angular-1-vs-angular-2
  274. How AngularJS Communicates With Web Services: http://dzone.com/articles/how-angularjs-communicates-with-web-services
  275. Serverless REST API with Angular, Persistence and Security: http://dzone.com/articles/serverless-rest-api-with-angular-persistence-and-s
  276. Developing a Web Application Using Angular (5-part series): https://dzone.com/articles/developing-a-web-application-using-angular
  277. Angular -- Effective Component Patterns - Sharing data between components: https://itnext.io/angular-effective-component-patterns-f5f7f08e2072
  278. IONIC IDENTITY VAULT: https://cdn2.hubspot.net/hubfs/3776657/Identity%20Vault%20Factsheet.pdf
  279. Announcing Ionic Portals: https://ionicframework.com/blog/announcing-ionic-portals/
  280. Awesome Ionic: https://github.com/candelibas/awesome-ionic
  281. Ionic "quick guide": https://www.tutorialspoint.com/ionic/ionic_quick_guide.htm
  282. Improved UX for Ionic apps with Skeleton Loading Screens: https://ionicthemes.com/tutorials/about/improved-ux-for-ionic-apps-with-skeleton-loading-screens
  283. Deploying Capacitor Applications to iOS (Development & Distribution): https://www.joshmorony.com/deploying-capacitor-applications-to-ios-development-distribution/
  284. Ionic & React -- building a "BitCoin price tracker" app: https://www.youtube.com/playlist?list=PLtKjv92L0ihBWO6NtZhXEsR9NXf7Uf_ki
  285. How to make Ionic apps in React Using Capacitor: https://enappd.com/blog/how-to-make-ionic-apps-in-react-using-capacitor/26/
  286. Creating a Dynamic/Adaptable Splash Screen for Capacitor (Android): https://www.joshmorony.com/creating-a-dynamic-universal-splash-screen-for-capacitor-android/
  287. Building an Ionic Firebase Location Tracker with Capacitor & Google Maps: https://devdactic.com/ionic-firebase-location-capacitor/
  288. Ionic 4 Angular 7 Demo of routable transitions with a travel app: https://github.com/sean-perkins/ionic-route-animation-demo
  289. Ionic 4 -- Autoplay "in-app" videos on scroll: https://medium.com/@JordanBenge/ionic-4-autoplay-videos-on-scroll-6eb00213cdb4
  290. Announcing "Ionic React": https://ionicframework.com/blog/announcing-ionic-react/
  291. React Native vs.Flutter vs. Ionic (Cordova version) -- Which is Challenging Platform for Your App: https://hackernoon.com/react-native-vsflutter-vs-ionic-which-is-challenging-platform-for-your-app-623qp3yqm
  292. Ionic (Cordova version) vs. React Native -- A Comparison Guide: https://ionicframework.com/resources/articles/ionic-vs-react-native-a-comparison-guide
  293. React Native vs. Ionic (Cordova version) explained -- A Step-by-Step Evaluation: https://codeburst.io/react-native-vs-ionic-explained-a-step-by-step-evaluation-23975999887
  294. Which Is Better For My Startup - Ionic (Cordova version) or React Native?: https://expertise.jetruby.com/which-is-better-for-my-startup-ionic-or-react-native-474551b6a7dc
  295. React Native vs. Ionic (Cordova version) – Which Hybrid App Development Framework Should You Pick?: https://ideamotive.co/blog/react-native-vs-ionic/
  296. StarBlitz: https://ionic-react-demo.stackblitz.io/app/ (lightweight Ionic-ReactNative/Capacitor demo showing basic image grid and simulating playing music)
  297. StarTrack: https://github.com/mhartington/StarTrack-react | DEMO (full reference implementation of Ionic-ReactNative/Capacitor to build a cross-platform Music app that actually integrates to Apple's iTunes APIs)
  298. Ionic basic components reference app: https://github.com/sunzhongshan1988/ionic-reference-app | DEMO
  299. Ionic Angular Conference Application: https://github.com/ionic-team/ionic-conference-app
  300. Announcing the (new) Ionic Vue Beta: https://ionicframework.com/blog/announcing-the-new-ionic-vue-beta/
  301. Announcing Ionic Vue (finalized): https://ionicframework.com/blog/announcing-ionic-vue/
  302. Announcing Ionic Secure Storage: Secure, reliable high-performance data access: https://ionicframework.com/blog/announcing-ionic-secure-storage-secure-reliable-high-performance-data-access/
  303. New early access program for extending native apps with the web: https://blog.ionicframework.com/new-early-access-program-for-extending-native-apps-with-the-web/
  304. Ionic Payments -- Build secure, cross-platform payment experiences: https://ionic.io/resources/webinars/ionic-payments-secure-cross-platform-payment-experiences | SRC | SLIDES | DOCS
  305. Ionic Portals -- Introducing the supercharged WebView for Native Apps: https://ionicframework.com/blog/ionic-portals-web-view/
  306. Backbone.js -- Getting Started: https://dzone.com/articles/backbonejs-getting-started (JS library that provides models with key-value bindings and custom events, views with declarative event handling, and collections with an API)
  307. KnockoutJS - Quick Guide: https://www.tutorialspoint.com/knockoutjs/knockoutjs_quick_guide.htm
  308. Knockout JS docs -- intro & benefits: https://knockoutjs.com/documentation/introduction.html
  309. Knockout JS docs -- Observables: https://knockoutjs.com/documentation/observables.html
  310. Knockout JS docs -- Computed Observables: https://knockoutjs.com/documentation/computedObservables.html
  311. Knockout JS docs -- The data-bind syntax: https://knockoutjs.com/documentation/binding-syntax.html
  312. Knockout JS docs -- The "attr" binding: https://knockoutjs.com/documentation/attr-binding.html
  313. Knockout JS docs -- The "value" binding: https://knockoutjs.com/documentation/value-binding.html
  314. Knockout JS docs -- The "if" & "ifnot" bindings: https://knockoutjs.com/documentation/if-binding.html
  315. Knockout JS docs -- The "event" binding: https://knockoutjs.com/documentation/event-binding.html
  316. Knockout JS docs -- The "submit" binding: https://knockoutjs.com/documentation/submit-binding.html
  317. Knockout JS docs -- The "selectedOptions" binding: https://knockoutjs.com/documentation/selectedOptions-binding.html
  318. KnockoutJS - Options Binding: https://www.tutorialspoint.com/knockoutjs/options-binding.htm
  319. Another Look at Custom Bindings for KnockoutJS: http://www.knockmeout.net/2011/07/another-look-at-custom-bindings-for.html
  320. (Knockout.JS) Call a function on enter key press: https://stackoverflow.com/questions/23087721/call-a-function-on-enter-key-press
  321. How can I get Knockout JS to data-bind on keypress instead of lost-focus?: https://stackoverflow.com/questions/4386311/how-can-i-get-knockout-js-to-data-bind-on-keypress-instead-of-lost-focus
  322. Is there a way to avoid that the submit binding of knockoutjs sends the form when pressing the enter key?: https://stackoverflow.com/questions/10285154/is-there-a-way-to-avoid-that-the-submit-binding-of-knockoutjs-sends-the-form-whe
  323. Knockout observable latest value: https://stackoverflow.com/questions/20746853/knockout-observable-latest-value
  324. Change event on select with knockout binding, how can I know if it is a real change?: https://stackoverflow.com/questions/11078016/change-event-on-select-with-knockout-binding-how-can-i-know-if-it-is-a-real-cha
  325. onChange event in select with knockout: https://stackoverflow.com/questions/43157905/on-change-event-in-select-with-knockout
  326. Knockout.js for data binding in HTML and JavaScript: https://sanderrossel.com/knockout-js-for-data-binding-in-html-and-javascript/
  327. Simplifying and Cleaning Up Views in KnockoutJS: http://www.knockmeout.net/2011/08/simplifying-and-cleaning-up-views-in.html
  328. KnockoutJS binding when source is null/undefined: https://stackoverflow.com/questions/11387501/knockoutjs-binding-when-source-is-null-undefined
  329. Creating Clickable Menu List Using Knockoutjs in ASP.Net Application: https://www.c-sharpcorner.com/UploadFile/cd7c2e/creating-clickable-menu-list-using-knockoutjs-in-Asp-Net-app/
  330. Make inner HTML of list items clickable in knockoutjs: https://stackoverflow.com/questions/44535160/make-inner-html-of-list-items-clickable-in-knockoutjs
  331. Vue.JS -- 2.x: DOCS v2 | EXAMPLES v2
  332. Flavio Copes - The Vue.js Cheat Sheet: https://flaviocopes.com/vue-cheat-sheet/
  333. VueJS - Quick Guide: https://www.tutorialspoint.com/vuejs/vuejs_quick_guide.htm
  334. Vue mastery -- E-Learning course - free cheat sheets: https://www.vuemastery.com/vue-cheat-sheet/
  335. ThisDot -- E-Learning course - VUE.js 101/201/Testing: https://labs.thisdot.co/trainings?filter=Vue
  336. VUE.js course: https://vuecourse.com/preview/1/2-vue-cli/
  337. 1 Hour to Learn Vue - JavaScript Marathon: https://www.youtube.com/watch?v=XItC-JBL3kw | SRC
  338. How To Install and Setup Vue.js – A Beginner’s Guide: https://www.thetechieshouse.com/how-to-install-and-setup-vue-js/
  339. Vue 3.x installation: https://v3.vuejs.org/guide/installation.html
  340. Vue 3.x -- TypeScript Support: https://v3.vuejs.org/guide/typescript-support.html#typescript-support
  341. Vue.js quick start if you’re not a frontend developer: https://tryingthings.wordpress.com/2020/06/21/vue-js-if-youre-not-a-frontend-developer/
  342. A bird’s eye Vue - how to get started with Vue.js: https://jstutorial.medium.com/a-birds-eye-vue-how-to-get-started-with-vue-js-dd1b82795908
  343. 7 Ways To Define A Component Template in VueJS: https://medium.com/js-dojo/7-ways-to-define-a-component-template-in-vuejs-c04e0c72900d
  344. VueJS examples: https://vuejsexamples.com/
  345. Awesome VueJS examples: https://awesome-vue.js.org/resources/examples.html
  346. Gallery of WebApps made with VueJS: https://madewithvuejs.com/
  347. 15+ Cool VueJS Examples and Templates: https://www.creative-tim.com/blog/web-design/vuejs-examples/
  348. Vue.js examples: https://vuejsexamples.net/examples/
  349. Vuejs Form Example: https://vegibit.com/vuejs-form-example/
  350. Vue.js Example Apps - A set of example applications using Vue.js: https://github.com/vuejs-example-apps
  351. Intro to Vue.js Components with examples: https://reactgo.com/vuejs-components-tutorial/
  352. Vue.js - the good, the meh, and the ugly: https://medium.com/@Pier/vue-js-the-good-the-meh-and-the-ugly-82800bbe6684
  353. 21 Top Vue.js UI Libraries For Your App: https://hackernoon.com/21-top-vue-js-ui-libraries-for-your-app-4556e5a9060e
  354. How To Use Watchers in Vue: https://dzone.com/articles/how-to-use-watchers-in-vue
  355. The growth of Vue.js is phenomenal: https://medium.com/@amsterdamjs/fatih-acet-the-growth-of-vue-js-is-phenomenal-5875337c1f6
  356. State of VueJS 2018 | Vue.js Amsterdam Conference: https://www.youtube.com/watch?v=TRJMT9yjONQ
  357. The Brief Lifespan of a JavaScript Framework: https://www.infoq.com/news/2018/01/javascript-lifespan-limited
  358. Has Vue passed React?: https://hasvuepassedreactyet.surge.sh/
  359. Vue JS vs React - Pros & Cons: https://www.sencha.com/blog/vue-js-vs-react-pros-and-cons/
  360. Github Stars !== Usage: React is still blowing Vue and Angular Away: https://zendev.com/2018/06/19/react-usage-beating-vue-angular.html
  361. React.js vs. Vue.js -- A Comparison of Popular JS Frameworks: https://dzone.com/articles/reactjs-vs-vuejs-comparison-of-popular-frameworks
  362. Vue.js Is Good, But Is It Better Than Angular Or React?: https://www.valuecoders.com/blog/technology-and-apps/vue-js-comparison-angular-react/
  363. ReactJS vs Angular5 vs Vue.js — What to choose in 2018?: https://medium.com/@TechMagic/reactjs-vs-angular5-vs-vue-js-what-to-choose-in-2018-b91e028fa91d
  364. Hit The Ground Running With Vue.js & Firestore: https://medium.com/@smashingmag/hit-the-ground-running-with-vue-js-and-firestore-8b45d6a9fa0b
  365. VueJS starter: https://repl.it/@templates/VueJS-Starter
  366. Vue.js 101 "ToDo app" PWA tutorial: https://medium.com/@vince_umo_34593/vue-js-101-todo-pwa-tutorial-ea96eb4e64b1
  367. React.js .vs. Vue.js -- TODO app - with PWA features: https://github.com/nico-martin/todo-pwa
  368. MongoDB + Express + Vue.js via Node.js (MEVN) stack -- example CRUD Application: https://bezkoder.com/vue-node-express--mevn-crud/
  369. Firebase for user authentication in Vue.js: https://labs.thisdot.co/blog/firebase-for-user-authentication-in-vue-js
  370. VueJS -- Components with no content should be self-closing in single-file components, string templates, and JSX - but never in DOM templates: https://vuejs.org/v2/style-guide/#Self-closing-components-strongly-recommended
  371. Anyway, here’s how to make AJAX & API calls with Vue JS: https://itnext.io/anyway-heres-how-to-do-ajax-api-calls-with-vue-js-e71e57d5cf12
  372. Using Axios to Consume APIs with VueJS: https://vuejs.org/v2/cookbook/using-axios-to-consume-apis.html
  373. Vue "axios" AJAX lib -- API call example: https://codepen.io/_elletownsend/pen/RwNzwxQ
  374. How To Use an API with Vue.js: https://rapidapi.com/blog/how-to-use-an-api-with-vue-js/
  375. Unit .vs. E2E Testing for Vue.js: https://dzone.com/articles/unit-vs-e2e-testing-for-vuejs
  376. What's New in Vue (3.x)?: https://dzone.com/articles/whats-new-in-vue (Composition API following "setup" & "use"-prefixed functions rather than standard "data-computed-methods" syntax)
  377. Vue 3.0 brings more speed, more TypeScript: https://www.infoworld.com/article/3562408/vue-30-brings-more-speed-more-typescript.html
  378. Vue.js Tutorial - Move from Vue 2 to 3 by building a Tesla Battery Range Calculator: https://dzone.com/articles/build-a-tesla-battery-range-calculator-yourself-it
  379. 7 Common Vue.js Mistakes You Should Never Make: https://dzone.com/articles/7-common-vuejs-mistakes-you-should-never-make
  380. Vue Jukebox: https://github.com/mimicmobile/vue-jukebox (example Vue 2.x components to build a playlist/media-player)
  381. ES6 features you can use with Vue now: https://www.vuemastery.com/blog/es6-features-you-can-use-with-vue-now/
  382. A bird’s eye Vue - how to get started with Vue.js: https://jstutorial.medium.com/a-birds-eye-vue-how-to-get-started-with-vue-js-dd1b82795908
  383. Vue Class Component: https://class-component.vuejs.org
  384. Why I use vue-class-component: https://medium.com/haiiro-io/why-i-use-vue-class-component-472579a266b4
  385. Node-Sass or Dart-Sass - The CSS Preprocessor Dilemma: https://itnext.io/the-css-preprocessor-dilemma-node-sass-or-dart-sass-32a0a096572
  386. BrowserStack docs -- Test Flutter apps: https://www.browserstack.com/docs/app-automate/appium/test-hybrid-apps/test-flutter-apps?utm_source=newsletter&utm_medium=email&utm_campaign=aa_paid
  387. Vue.js 3 Components Fundamentals : https://vueschool.io/lessons/vue-3-component-template
  388. Vue Mastery (E-LEARNING) -- Vue 3 - Single File Components: https://www.vuemastery.com/courses/real-world-vue3/single-file-components/
  389. Vue Mastery (E-LEARNING) -- Vue 3 - Advanced Components: https://www.vuemastery.com/courses/progressive-web-apps-vue-3/overview-and-setup/
  390. Vue Mastery (E-LEARNING) -- Vue 3 - Component Design Patterns: https://www.vuemastery.com/courses/component-design-patterns/introduction/
  391. Vue Mastery (E-LEARNING) -- Vue 3 - Token-Based Authentication: https://www.vuemastery.com/courses/token-based-authentication/intro-to-authentication/
  392. Vue Mastery (E-LEARNING) -- Vue 3 - Watch Us Build a Trello Clo: https://www.vuemastery.com/courses/watch-us-build-trello-clone/tour-of-the-app/
  393. Vue Mastery (E-LEARNING) -- Vue 3 - Build a Gmail Clone: https://www.vuemastery.com/courses/build-a-gmail-clone-with-vue3/tour-the-project/
  394. Vue Mastery (E-LEARNING) -- Vue 3 - Unit Testing: https://www.vuemastery.com/courses/unit-testing-vue-3/what-to-test-vue-3/
  395. Vue Mastery (E-LEARNING) -- Vue 3 - Real World Testing: https://www.vuemastery.com/courses/real-world-testing/getting-started/
  396. Vue Mastery (E-LEARNING) -- Vue 3 - Deep Dive with (founder) Evan You: https://www.vuemastery.com/courses/vue3-deep-dive-with-evan-you/building-the-reactive-api/
  397. What you can do with Ionic Vue: https://www.vuemastery.com/blog/what-you-can-do-with-ionic-vue/
  398. Learn How To Create, Test and Deploy a Single Page App with Vue 3 + Vite and Pinia (with Nightwatch e2e Testing): https://labs.pineview.io/learn-how-to-build-test-and-deploy-a-single-page-app-with-vue-3-vite-and-pinia/
  399. Building an Apache ECharts Dashboard with Vue 3 & Cube: https://cube.dev/blog/building-an-apache-echarts-dashboard-with-vue-3-and-cube/
  400. Vue 3 Reactivity Composition API Using Reactive() And Ref(): https://dzone.com/articles/vue-3-reactivity-composition-api
  401. Add React to a Website: https://reactjs.org/docs/add-react-to-a-website.html
  402. React.JS -- Handling Events: https://reactjs.org/docs/handling-events.html
  403. React Chrome Developer Tools: https://reactjs.org/blog/2014/01/02/react-chrome-developer-tools.html
  404. Testing "React Components": https://flaviocopes.com/react-testing-components/
  405. ReDedux -- Usage with React.js: http://redux.js.org/docs/basics/UsageWithReact.html
  406. Getting Started with Redux: https://egghead.io/courses/getting-started-with-redux
  407. How Does Redux Work?: https://blog.usejournal.com/how-does-redux-work-b1cce46d4fa6
  408. How I Build JavaScript Apps In 2021: https://timdaub.github.io/2021/01/16/web-principles/
  409. React tutorials (by Flavio Copes): https://flaviocopes.com/tags/react/
  410. React Lifecycle methods (DIAGRAM): http://projects.wojtekmaj.pl/react-lifecycle-methods-diagram/
  411. Load React and ReactDOM are available over a CDN: https://reactjs.org/docs/cdn-links.html
  412. "react-scripts" load via UNPKG (CDN): https://unpkg.com/browse/react-scripts@3.2.0/
  413. AEM -- React: https://github.com/sinnerschrader/aem-react
  414. AEM -- React.js: https://github.com/sinnerschrader/aem-react-js
  415. React.js + WebComponents: https://reactjs.org/docs/web-components.html
  416. WebComponents -- "custom-elements-es5-adapter.js": https://github.com/webcomponents/webcomponentsjs#custom-elements-es5-adapterjs
  417. React - A basic introduction: https://blog.usejournal.com/react-a-basic-introduction-b6ecbca0f550
  418. These are the concepts you should know in React.js (after you learn the basics): https://medium.com/free-code-camp/these-are-the-concepts-you-should-know-in-react-js-after-you-learn-the-basics-ee1d2f4b8030
  419. Most Popular JavaScript Frameworks 2015 – 2016: http://www.improgrammer.net/most-popular-javascript-frameworks-2015/
  420. Hottest freelance skills -- React.js secures Top 5 spot, AngularJS ousted from Top 10 list: https://jaxenter.com/freelance-skills-reactjs-angularjs-138720.html
  421. Removing User Interface Complexity, or Why React is Awesome: http://jlongster.com/Removing-User-Interface-Complexity,-or-Why-React-is-Awesome
  422. What's so great about React.js?: https://www.reddit.com/r/javascript/comments/2uvz0x/whats_so_great_about_reactjs/
  423. React.js vs traditional MVC (Backbone, Angular): http://www.code-experience.com/react-js-vs-traditional-mvc-backbone-ember-angular/
  424. What If React Was Really Only The V in MVC?: https://medium.com/javascript-inside/what-if-react-was-really-only-the-v-in-mvc-5854fd6f601c
  425. Understanding MVC Architecture with React: https://medium.com/of-all-things-tech-progress/understanding-mvc-architecture-with-react-6cd38e91fefd
  426. Knockout.JS .vs. Vue.JS -- To Do List (DEMOS): https://gist.github.com/chrisvfritz/9e5f2d6826af00fcbace7be8f6dccb89
  427. Top 10 React Libraries on GitHub: https://hackernoon.com/top-10-react-libraries-on-github-ebf730e7ac25
  428. 21 React Example Projects to Learn From (Open-source, Beginner to Intermediate Level): https://dev.to/syakirurahman/21-react-example-projects-to-learn-from-open-source-beginner-intermediate-level-2e6o
  429. If you’re a startup, you should not use React (reflecting on the BSD + patents license): https://medium.com/@raulk/if-youre-a-startup-you-should-not-use-react-reflecting-on-the-bsd-patents-license-b049d4a67dd2
  430. The React Story -- How Facebook's Instagram Acquisition Led To The Open Sourcing of "React.js": https://stackshare.io/posts/the-react-story
  431. Top JavaScript Libraries & Tech to Learn in 2018: https://medium.com/javascript-scene/top-javascript-libraries-tech-to-learn-in-2018-c38028e028e6
  432. Create a Basic Like Button in React: https://medium.com/@elle.westervelt/create-a-basic-like-button-in-react-5274a6991385
  433. React - How to pass HTML tags in props?: https://stackoverflow.com/questions/33381029/react-how-to-pass-html-tags-in-props
  434. How to use `React.createElement` children parameter (without jsx): https://stackoverflow.com/questions/30195720/how-to-use-react-createelement-children-parameter-without-jsx
  435. SVG use tag and ReactJS: https://stackoverflow.com/questions/26815738/svg-use-tag-and-reactjs
  436. Testing your React App with Puppeteer and Jest: https://blog.bitsrc.io/testing-your-react-app-with-puppeteer-and-jest-c72b3dfcde59
  437. React, JSX and ES6 -- The Weird Parts: https://ponyfoo.com/articles/react-jsx-and-es6-the-weird-parts
  438. React component patterns: https://medium.com/teamsubchannel/react-component-patterns-e7fb75be7bb0
  439. The best way to bind event handlers in React: https://medium.freecodecamp.org/the-best-way-to-bind-event-handlers-in-react-282db2cf1530
  440. Consuming REST APIs With React.js : https://dzone.com/articles/consuming-rest-api-with-reactjs
  441. How To Fetch Data From an API With React Hooks: https://betterprogramming.pub/how-to-fetch-data-from-an-api-with-react-hooks-9e7202b8afcd
  442. Learn the React Context API with a Practical Example You Can Bring to Your Apps: https://itnext.io/understanding-the-react-context-api-through-building-a-shared-snackbar-for-in-app-notifications-6c199446b80c
  443. Build a Realtime Serverless GraphQL API with Websockets on AWS: https://hackernoon.com/build-a-realtime-serverless-graphql-api-with-websockets-on-aws-d9e553a997
  444. How to build a React.js chat app in 10 minutes: https://medium.freecodecamp.org/how-to-build-a-react-js-chat-app-in-10-minutes-c9233794642b: https://medium.freecodecamp.org/how-to-build-a-react-js-chat-app-in-10-minutes-c9233794642b
  445. Build A Chat App With Sentiment Analysis Using Next.js: https://codeburst.io/build-a-chat-app-with-sentiment-analysis-using-next-js-c43ebf3ea643
  446. 4 Reasons why you should use React Native for your next Mobile App project: http://valentinfoucault.com/2018/08/20/4-reasons-why-you-should-use-react-native-for-your-next-mobile-app-project/
  447. React Hooks: https://reactjs.org/docs/hooks-intro.html
  448. Simplify React Apps with React Hooks: https://egghead.io/courses/simplify-react-apps-with-react-hooks
  449. Why React Hooks, and how did we even get here?: https://medium.com/free-code-camp/why-react-hooks-and-how-did-we-even-get-here-aa5ed5dc96af
  450. React - Timer component: https://codesandbox.io/s/wonderful-ardinghelli-h566b
  451. React -- CSS in JS – NationJS: http://blog.vjeux.com/2014/javascript/react-css-in-js-nationjs.html
  452. Four ways to style React components: https://codeburst.io/4-four-ways-to-style-react-components-ac6f323da822
  453. The unseen performance costs of modern CSS-in-JS libraries in React apps: https://calendar.perfplanet.com/2019/the-unseen-performance-costs-of-css-in-js-in-react-apps/
  454. How to build a reusable animation component using React Hooks: https://www.freecodecamp.org/news/animating-visibility-with-css-an-example-of-react-hooks/
  455. Props vs. State in React JS: https://blog.cloudboost.io/props-vs-state-in-react-js-9c186dcf39b8
  456. How to maintain state after a page refresh in React.js?: https://stackoverflow.com/questions/28314368/how-to-maintain-state-after-a-page-refresh-in-react-js
  457. A different way to manage state in React: https://medium.com/hackernoon/a-different-way-to-manage-state-in-react-2d21dfb94482
  458. React Redux Starter Kit: https://github.com/mikedevita/react-redux-starter-kit-auth-notifications-example (notifications system & authentication)
  459. Adding authentication to your React Flux app: https://auth0.com/blog/adding-authentication-to-your-react-flux-app/
  460. react-redux-universal-hot-example: https://github.com/erikras/react-redux-universal-hot-example (starter boilerplate for a universal webapp using express, react, redux, webpack, and react-transform)
  461. React -- cookies: https://github.com/reactivestack/cookies (load & save cookies within your React application)
  462. React -- persist & rehydrate a redux store: https://github.com/rt2zz/redux-persist
  463. React -- querystring parser with nesting support: https://github.com/ljharb/qs
  464. React -- session history: https://github.com/ReactTraining/history (manage session history with JavaScript)
  465. React -- declarative routing for React: https://reacttraining.com/react-router/
  466. React -- hot loader: http://gaearon.github.io/react-hot-loader/
  467. How to add React to a simple HTML file: https://medium.com/@to_pe/how-to-add-react-to-a-simple-html-file-a11511c0235f
  468. Client on node -- "Uncaught ReferenceError: require is not defined": https://stackoverflow.com/questions/19059580/client-on-node-uncaught-referenceerror-require-is-not-defined
  469. Introduction to React Hooks: https://dev.to/christopherkade/introduction-to-react-hooks-1e0l
  470. How to fetch data with React Hooks?: https://www.robinwieruch.de/react-hooks-fetch-data
  471. 6 Ways to Share React Components in 2020: https://blog.bitsrc.io/6-ways-to-share-and-reuse-react-components-6d80e2fd16cd
  472. How to use css modules in "react.js": https://reactgo.com/react-app-css-modules/
  473. Create React App CLI tool -- Adding a CSS Modules Stylesheet: https://create-react-app.dev/docs/adding-a-css-modules-stylesheet/
  474. Building Reusable React (E-LEARNING COURSE): https://scrimba.com/course/greusablereact
  475. The Love-Hate Relationship between React Router and React Components: https://blog.bitsrc.io/the-love-hate-relationship-between-react-router-and-react-components-dee4aac5956c (and a quick "ScrollToTop" hack for loading other routes from a given non-zero scroll state)
  476. ReactJS roadmap: https://dev.to/theme_selection/reactjs-roadmap-for-developers-2824
  477. ReactJS docs -- Higher-Order Components (HOC): https://reactjs.org/docs/higher-order-components.html
  478. Higher Order Components in a React Hooks World: https://medium.com/@albertchu539/higher-order-components-in-a-react-hooks-world-69fe1f0b0791
  479. 10 Ways to Optimize Your React App’s Performance: https://blog.bitsrc.io/10-ways-to-optimize-your-react-apps-performance-e5e437c9abce
  480. 5 React hooks useful in any project: https://itnext.io/five-react-hooks-useful-in-any-project-44c150f283f8
  481. 20 Essential Parts Of Any Large Scale React App: https://javascript.plainenglish.io/20-essential-parts-of-any-large-scale-react-app-ee4bd35436a0
  482. I Almost Got Fired for Choosing React in Our Enterprise App: https://betterprogramming.pub/i-almost-got-fired-for-choosing-react-in-our-enterprise-app-846ea840841c | VIDEO
  483. Using React in Enterprise Context: https://www.digitalprimates.net/blog/using-react-in-enterprise-contexts-codeitlive/ | VIDEO #1 | VIDEO #2
  484. Simply JavaScript -- Testing in JS - straightforward intro to Mocking, Stubbing, and Interfaces: https://medium.com/free-code-camp/simply-javascript-a-straightforward-intro-to-mocking-stubbing-and-interfaces-14e67ed6641a
  485. How writing tests can make you a faster and more productive developer: https://medium.com/free-code-camp/how-writing-tests-can-make-you-a-faster-and-more-productive-developer-f3ad978e3872
  486. React costs companies a lot of money: https://poub330.medium.com/react-costs-companies-a-lot-of-money-6bfa3e5cc6f4
  487. Finally a better React.JS folder structure: https://medium.com/@kumarvinoth/finally-a-better-react-js-folder-structure-821a2210835%7C SRC
  488. Cleaner way to write conditionals in JSX: https://tech.trell.co/cleaner-way-to-write-conditionals-in-jsx-b13fb60b5792
  489. How to use SWR: https://flaviocopes.com/swr/
  490. How to conditionally load data with SWR: https://flaviocopes.com/swr-conditionally-load-data/
  491. Microsoft launches React Native for Windows: https://techcrunch.com/2019/05/06/microsoft-launches-react-native-for-windows/
  492. Expo SDK v32.0.0 is now available: https://blog.expo.io/expo-sdk-v32-0-0-is-now-available-6b78f92a6c52
  493. BuilderX -- ReactNative Design IDE: https://builderx.io/
  494. React Native -- How to Setup Your First App: https://hackernoon.com/react-native-how-to-setup-your-first-app-a36c450a8a2f
  495. Create a React Native app on an Android emulator: https://charles-stover.medium.com/create-a-react-native-app-on-an-android-emulator-1c0d94f288ae
  496. How to build Mobile App with ReactNative: https://medium.com/@fakiho/how-to-build-mobile-app-with-react-native-dd3370755f12
  497. Debugging React Native: https://railsware.com/blog/debugging-react-native/
  498. You are NOT a React Native noob: https://hackernoon.com/you-are-not-a-react-native-noob-c4309ceccd91 (common React Native gotchas and concepts that will help you before and during development)
  499. Fixing React Native WebView’s postMessage for iOS: https://medium.com/@Charles_Stover/fixing-react-native-webviews-postmessage-for-ios-10e2320b2f14
  500. Does React Native Surpass Ionic?: https://dzone.com/articles/does-react-native-surpass-ionic (probably a tie or narrow win for Ionic actually)
  501. What does React Native use to allow JavaScript to be executed on iOS and Android natively?: https://stackoverflow.com/questions/33479180/what-does-react-native-use-to-allow-javascript-to-be-executed-on-ios-and-android
  502. WebView: https://facebook.github.io/react-native/docs/webview.html
  503. React Native Load Local HTML File Place Inside App in WebView: https://reactnativecode.com/load-local-html-file-webview-android-ios/
  504. Load Local HTML File or URL in React Native using react-native-webview: https://aboutreact.com/load-local-html-file-url-using-react-native-webview/
  505. How does React Native work?: https://www.quora.com/How-does-React-Native-work
  506. Why Select React Native For Hybrid App Development?: https://www.excellentwebworld.com/react-native-hybrid-app-development/
  507. Under The Hood of React Native | Martin Konicek | Reactive 2015: https://www.youtube.com/watch?v=8N4f4h6SThc | SLIDES (took 3 months for iOS then afterwards 3 more months for Android for Facebook team themselves to build Facebook Ads app)
  508. How to Build a Mobile App with React Native Components: https://applikeysolutions.com/blog/how-to-build-a-mobile-app-with-react-native-components
  509. Writing Cross-Platform Apps with React Native: https://www.infoq.com/articles/react-native-introduction/
  510. React Native Internals: https://www.reactnative.guide/3-react-native-internals/3.1-react-native-internals.html
  511. Bridging in React Native An in-depth look into React Native's core: https://tadeuzagallo.com/blog/react-native-bridge/
  512. Understanding the React Native bridge concept: https://hackernoon.com/understanding-react-native-bridge-concept-e9526066ddb8
  513. Biometric Authentication in React-Native Applications: https://dzone.com/articles/incorporate-biometric-authentication-to-your-react
  514. Is Facebook iOS app built in React Native?: https://stackoverflow.com/questions/41843974/is-facebook-ios-app-built-in-react-native
  515. Does Facebook use React Native for its own apps?: https://www.quora.com/Does-Facebook-use-React-Native-for-its-own-apps
  516. Timothy Yung -- Engineering Manager of React Native at Facebook: https://twitter.com/yungsters/status/989361665752748033
  517. Facebook moving away from React Native?: https://news.ycombinator.com/item?id=17216628
  518. State of React Native 2018: https://facebook.github.io/react-native/blog/2018/06/14/state-of-react-native-2018
  519. React Native Open Source Update June 2019: https://facebook.github.io/react-native/blog/2019/06/12/react-native-open-source-update
  520. React Native -- What it is and how it works: https://medium.com/we-talk-it/react-native-what-it-is-and-how-it-works-e2182d008f5e
  521. React Native vs Real Native Apps: https://codeburst.io/react-native-vs-real-native-apps-ad890986f1f
  522. React Native -- Pros & Cons: https://citrusbits.com/react-native-pros-and-cons/
  523. NativeScript vs Ionic Framework vs React Native: https://gist.github.com/cipas/fec1e31715092b59621bb214dc1880dc
  524. React Native Vs Ionic 2: Comparison: https://medium.com/swlh/react-native-vs-ionic-2-comparison-50aba900be6c
  525. Dive into React Native performance: https://code.fb.com/android/dive-into-react-native-performance/
  526. AirBnB -- Sunsetting React Native: https://medium.com/airbnb-engineering/sunsetting-react-native-1868ba28e30a
  527. React Native vs Ionic -- A Side-by-Side Comparison: https://www.codementor.io/fmcorz/react-native-vs-ionic-du1087rsw
  528. Ionic vs. React Native…or May Be Flutter to Build a Mobile App?: https://railsware.com/blog/ionic-vs-react-native-building-a-mobile-app/
  529. Ionic Vs. React Native - Which Framework Is Better for Cross-Platform Mobile App Development?: https://dzone.com/articles/ionic-vs-react-native-which-framework-is-better-fo
  530. Ionic Framework on the raging debate -- Ionic .vs. ReactNative: https://ionicframework.com/resources/articles/ionic-vs-react-native-a-comparison-guide
  531. React Native vs. Ionic Explained -- A Step-by-Step Evaluation: https://codeburst.io/react-native-vs-ionic-explained-a-step-by-step-evaluation-23975999887
  532. Should I use React Native?: https://eliezer.medium.com/should-i-use-react-native-edc98303f723
  533. Which Is Better For My Startup - Ionic or React Native?: https://expertise.jetruby.com/which-is-better-for-my-startup-ionic-or-react-native-474551b6a7dc
  534. What Sucks About React Native: https://shift.infinite.red/what-sucks-about-react-native-c38a307a210f
  535. Why I'm not a React Native Developer: https://arielelkin.github.io/articles/why-im-not-a-react-native-developer.html
  536. How to use Git with React Native(for Mac users): https://medium.com/react-native-institute/how-to-use-git-with-react-native-687c12431e36
  537. Building MobileApps in Ionic-React: https://www.smashingmagazine.com/2019/08/building-mobile-apps-ionic-react/
  538. Adding "Notch" (lib for "safe area" detection of "cut-out/bezel-contour" shapes of varied Mobile deviecs) support to your React Native apps -- Android, iOS & Web: https://dev.to/brunolemos/adding-notch-support-to-your-react-native-android-app-3ci3
  539. Flexbox layouts and lists with React Native: https://developerlife.com/2017/04/26/flexbox-layouts-and-lists-with-react-native/
  540. Get Started With React Native Layouts: https://code.tutsplus.com/tutorials/get-started-with-layouts-in-react-native--cms-27418
  541. Netflix app clone in ReactNative: https://github.com/matheusmichels/netflix-clone
  542. Cloning Tinder Using React Native Elements and Expo: https://www.sitepoint.com/cloning-tinder-using-react-native-elements-expo/
  543. React Native and Forms Redeux: Part 1 | Part 2 | SRC
  544. Styling in React Native - Step By Step: https://medium.com/better-programming/styling-in-react-native-step-by-step-540f57411566
  545. React Native — How to handle an app with both pre-AndroidX and AndroidX dependencies (RN60): https://itnext.io/react-native-how-to-handle-an-app-with-both-pre-androidx-and-androidx-dependencies-rn60-bf4df7ea0dd2
  546. How to configure and code Android in-app purchases in React Native apps: https://medium.com/react-native-training/how-to-configure-and-code-android-in-app-purchases-in-react-native-apps-a46247908862
  547. Animated Graph in React Native: https://medium.com/react-native-motion/animated-graph-in-react-native-51354af2bdb0
  548. How to Highlight and Multi-Select items in a ReactNative "FlatList" Component: https://medium.com/better-programming/how-to-highlight-and-multi-select-items-in-a-flatlist-component-react-native-1ca416dec4bc
  549. How to Generate Haptic Feedback in ReactNative: https://dzone.com/articles/how-to-generate-haptic-feedback-in-react-native
  550. How to test SQLite for React Native apps using Jest: https://blog.codemagic.io/testing-local-database-for-react-native/
  551. Is Svelte a cut above React ??: https://medium.com/globant/is-svelte-a-cut-above-react-aa1e4f76b170
  552. The Philosophy of Svelte: https://blog.scottlogic.com/2021/01/18/philosophy-of-svelte.html
  553. Microsoft is Finally Ditching Electron: https://blog.devgenius.io/microsoft-is-finally-ditching-electron-9e081757f9db
  554. Video SEO Tutorial – Using SWFObject 2.1 to Provide Alternative HTML Content (Part 2 of 2) : http://www.reelseo.com/swfobject-video-seo-2/
  555. Compiling JScript Code from the Command Line: http://msdn.microsoft.com/en-us/library/7435xtz6(v=VS.71).aspx
  556. Why Babel Matters: https://codemix.com/blog/why-babel-matters/
  557. You might not need to transpile your JavaScript: https://www.freecodecamp.org/news/you-might-not-need-to-transpile-your-javascript-4d5e0a438ca/
  558. Is It Time To Say Goodbye To Webpack?: https://javascript.plainenglish.io/time-to-say-goodbye-to-webpack-5bf06ff48823
  559. Yeoman official 25-minute tutorial: https://yeoman.io/codelab/index.html
  560. WebPack -- Tree Shaking: https://webpack.js.org/guides/tree-shaking/
  561. CopyWebpackPlugin: https://webpack.js.org/plugins/copy-webpack-plugin/ | SRC
  562. Use webpack with __dirname correctly: https://codeburst.io/use-webpack-with-dirname-correctly-4cad3b265a92
  563. WebPack + Mocha -- From 0 to automated testing: https://itnext.io/webpack-from-0-to-automated-testing-4634844d5c3c
  564. Visualizing the Size of your Vue/React/Angular Bundles: https://www.mavice.com/blog/visualizing-the-size-of-your-vue-react-angular-bundles/
  565. Webpack 4, postcss-loader and autoprefixer plugin: https://stackoverflow.com/questions/49782806/webpack-4-postcss-loader-and-autoprefixer-plugin
  566. Building With Gulp: http://www.smashingmagazine.com/2014/06/11/building-with-gulp/
  567. Webpack — What is it and is it better than Gulp?: https://blog.vanila.io/webpack-what-is-it-and-is-it-better-than-gulp-375db8011d22
  568. Gulp vs Grunt vs Webpack -- Comparison of Build Tools / Task Runners: https://da-14.com/blog/gulp-vs-grunt-vs-webpack-comparison-build-tools-task-runners
  569. Webpack vs Gulp vs Grunt vs Browserify -- Which tool to use?: https://www.cleveroad.com/blog/gulp-browserify-webpack-grunt
  570. Webpack vs Gulp: https://buddy.works/blog/webpack-vs-gulp
  571. NPM vs. Bower vs. Browserify vs. Gulp vs. Grunt vs. Webpack: https://stackoverflow.com/questions/35062852/npm-vs-bower-vs-browserify-vs-gulp-vs-grunt-vs-webpack
  572. wikipedia: lint (software)
  573. Warning! JSLint will hurt your feelings: http://www.jslint.com/lint.html
  574. wikipedia:Obfuscated code
  575. Hacker Wanted: http://www.webdeveloper.com/forum/showthread.php?t=66136
  576. JavaScript Obfuscation tutorial: http://www.mkyong.com/javascript/javascript-obfuscator/
  577. Using "Packer" for JS minification/obsfucation/compression: http://joliclic.free.fr/php/javascript-packer/en/
  578. JS-Unit intro: http://www.jsunit.net/
  579. How I introduced JsDoc into a JavaScript project – and found my Eclipse Outline: http://kajabity.com/2012/02/how-i-introduced-jsdoc-into-a-javascript-project-and-found-my-eclipse-outline/
  580. How to get Eclipse to do auto-javadoc comments in Javascript document: https://stackoverflow.com/questions/11961104/how-to-get-eclipse-to-do-auto-javadoc-comments-in-javascript-document
  581. Creating JSDoc Comments: https://www.jetbrains.com/help/idea/creating-jsdoc-comments.html
  582. JSDoc (old) project home: http://jsdoc.sourceforge.net/
  583. Annotating JavaScript for the Closure Compiler: https://github.com/google/closure-compiler/wiki/Annotating-JavaScript-for-the-Closure-Compiler
  584. How do you attach JSdoc in Eclipse so that I can have autocomplete for a personal library: https://stackoverflow.com/questions/14986907/how-do-you-attach-jsdoc-in-eclipse-so-that-i-can-have-autocomplete-for-a-persona
  585. Oracle Nashorn -- A Next-Generation JavaScript Engine for the JVM: http://www.oracle.com/technetwork/articles/java/jf14-nashorn-2126515.html
  586. Nashorn JavaScript engine for JVM could be axed: https://www.infoworld.com/article/3279893/javascript/nashorn-javascript-engine-for-jvm-could-be-axed.html
  587. Oracle Proposes Deprecating Java's JavaScript Engine Nashorn: https://www.infoq.com/news/2018/06/deprecate-nashorn
  588. JS Editor: http://www.netbeans.org/kb/61/ide/javascript-editor.html
  589. Collaborative real-time code editors: http://collaboration.wikia.com/wiki/Collaborative_real-time_editor
  590. W3schools -- JS - Prototypes: https://www.w3schools.com/js/js_object_prototypes.asp
  591. Minify JS and CSS files in batch with drag-and-drop: http://www.scriptiny.com/2013/01/minify-js-and-css-files-in-batch-with-drag-and-drop/
  592. Batch compress all files in a folder with YUI Compressor (Linux/Unix): http://patjack.co.uk/batch-compress-all-files-in-a-folder-with-yui-compressor/
  593. 25 JavaScript tricks you should know: https://medium.com/javascript-in-plain-english/25-javascript-code-solutions-utility-tricks-you-need-to-know-about-3023f7ed993e
  594. JSLint - The Bad Part: http://webreflection.blogspot.com/2010/02/jslint-bad-part.html
  595. Advanced event registration models: http://www.quirksmode.org/js/events_advanced.html
  596. JS The Good Parts -- White space railroad diagrams confusing: https://stackoverflow.com/questions/15917859/javascript-the-good-parts-white-space-railroad-diagrams-confusing
  597. Google Talk -- JS The Good Parts (Douglas Crockford): https://www.youtube.com/watch?v=hQVTIJBZook
  598. wikipedia: Backus–Naur form (BNF diagrams)
  599. wikipedia: Syntax diagram
  600. You Might Not Need jQuery: http://youmightnotneedjquery.com/
  601. JavaScript Without jQuery -- Tips and Practical Examples: http://dzone.com/articles/javascript-without-jquery-tips-and-practical-examp
  602. Comparing Scripts in jQuery and JavaScript - with class switching: http://alittlecode.com/comparing-scripts-in-jquery-and-javascript-a-comparison-by-jeffrey-way/
  603. You might not need jQuery: http://youmightnotneedjquery.com (guide to how to do common jQuery things in vanilla, modern JS)
  604. Do You Really Need jQuery?: https://www.sitepoint.com/do-you-really-need-jquery/
  605. Bake Vanilla JavaScript Websites - jQuery (sugar) free: https://aemcorner.com/bake-vanilla-javascript-websites-sugar-free/
  606. Are named functions or anonymous functions preferred in JavaScript?: https://stackoverflow.com/questions/10081593/are-named-functions-or-anonymous-functions-preferred-in-javascript
  607. How can I convert a string to boolean in JavaScript?: https://stackoverflow.com/questions/263965/how-can-i-convert-a-string-to-boolean-in-javascript
  608. How do JavaScript closures work?: https://stackoverflow.com/questions/111102/how-do-javascript-closures-work?rq=1
  609. May function declarations appear inside statements in JavaScript?: https://stackoverflow.com/questions/4071292/may-function-declarations-appear-inside-statements-in-javascript
  610. Are anonymous functions a bad practice in JavaScript?: https://stackoverflow.com/questions/3462255/are-anonymous-functions-a-bad-practice-in-javascript?noredirect=1&lq=1
  611. JavaScript closure inside loops – simple practical example: https://stackoverflow.com/questions/750486/javascript-closure-inside-loops-simple-practical-example?rq=1
  612. What does “use strict” do in JavaScript, and what is the reasoning behind it?: https://stackoverflow.com/questions/1335851/what-does-use-strict-do-in-javascript-and-what-is-the-reasoning-behind-it?rq=1
  613. Counting with a local variable example: https://www.w3schools.com/js/tryit.asp?filename=tryjs_function_counter3
  614. JavaScript Closures: https://www.w3schools.com/js/js_function_closures.asp
  615. JavaScript - Closures : http://conceptf1.blogspot.ca/2013/11/javascript-closures.html
  616. Advanced JS -- working with functions: javascript.info/advanced-functions
  617. Why is this function wrapped in parentheses, followed by parentheses?: https://stackoverflow.com/questions/5815757/why-is-this-function-wrapped-in-parentheses-followed-by-parentheses
  618. What is the (function() { } )() construct in JavaScript?: https://stackoverflow.com/questions/8228281/what-is-the-function-construct-in-javascript
  619. Awkward way of executing JavaScript code: https://stackoverflow.com/questions/8228281/what-is-the-function-construct-in-javascript
  620. Stop writing anonymous functions: https://stijndewitt.com/2013/12/02/stop-writing-anonymous-functions/
  621. JavaScript checking for null vs. undefined and difference between == and ===: https://stackoverflow.com/questions/5101948/javascript-checking-for-null-vs-undefined-and-difference-between-and
  622. How to check for an undefined or null variable in JavaScript?: https://stackoverflow.com/questions/2559318/how-to-check-for-an-undefined-or-null-variable-in-javascript
  623. How we captured AJAX requests from a website tab with a Chrome Extension: https://www.moesif.com/blog/technical/apirequest/How-We-Captured-AJAX-Requests-with-a-Chrome-Extension/
  624. Modern example utility function to get all siblings of a DOM Element: https://attacomsian.com/blog/javascript-dom-get-all-siblings-of-an-element
  625. Problems with Array.prototype.indexOf.call: https://stackoverflow.com/questions/17167628/problems-with-array-prototype-indexof-call
  626. What is the difference between JavaScript and ECMAScript?: https://stackoverflow.com/questions/912479/what-is-the-difference-between-javascript-and-ecmascript
  627. What are the differences between JavaScript, EMCAScript, CoffeeScript and TypeScript?: https://www.quora.com/What-are-the-differences-between-JavaScript-EMCAScript-CoffeeScript-and-TypeScript
  628. Introducing the OpenJS Foundation -- The Next Phase of JavaScript Ecosystem Growth: https://medium.com/@nodejs/introducing-the-openjs-foundation-the-next-phase-of-javascript-ecosystem-growth-d4911b42664f
  629. What is Typescript & EcmaScript: https://steemit.com/javascript/@scaevola/what-is-typescript-and-ecmascript
  630. Microsoft's TypeScript 1.5 falls in line with ECMAScript: https://www.infoworld.com/article/2950535/javascript/microsofts-typescript-15-falls-in-line-with-ecmascript.html
  631. TypeScript Gets Closer To ECMAScript: https://visualstudiomagazine.com/articles/2017/04/11/typescript-23-ecmascript-support.aspx
  632. TypeScript Practical Introduction: https://auth0.com/blog/typescript-practical-introduction/
  633. AtScript -- Google’s new superset JavaScript runtime: http://sdtimes.com/atscript-googles-new-superset-javascript-runtime/
  634. What is the difference between document.location.href and document.location?: https://stackoverflow.com/questions/2652816/what-is-the-difference-between-document-location-href-and-document-location
  635. Setting location.href versus location: https://stackoverflow.com/questions/2383401/javascript-setting-location-href-versus-location
  636. window.location vs. document.location: https://ask.roboflow.ai/question/7857878
  637. JavaScript Window Location: https://www.tutorialrepublic.com/javascript-tutorial/javascript-window-location.php
  638. A Complete Guide to the document.location Property and Location Object in JavaScript: https://levelup.gitconnected.com/introducing-the-javascript-window-object-location-property-introduction-44492019680d
  639. How To Replace All Occurrences Of A Word In A JavaScript String?: https://www.designcise.com/web/tutorial/how-to-replace-all-occurrences-of-a-word-in-a-javascript-string
  640. Mutation Events; https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Mutation_events
  641. How to get bootstrap modal size: http://stackoverflow.com/questions/28198035/how-to-get-bootstrap-modal-size
  642. Set div height equal to screen size: http://stackoverflow.com/questions/12172177/set-div-height-equal-to-screen-size
  643. window object, a slightly less evil alternative to eval(): http://fiddle.jshell.net/Shaz/WmA8t/
  644. Vapor.JS project: https://web.archive.org/web/20120322223910/http://www.vaporjs.com/
  645. Vapor.js - A new JavaScript framework from the author of script.aculo.us: http://news.ycombinator.com/item?id=1728645
  646. Facebook Refuses to Alter React's Open Source License: https://www.infoq.com/news/2017/08/facebook-react-license
  647. Explaining React's license: https://code.facebook.com/posts/112130496157735/explaining-react-s-license/
  648. Facebook re-licenses React under MIT license after developer backlash: https://thenextweb.com/dd/2017/09/25/facebook-re-licenses-react-mit-license-developer-backlash/
  649. Outraged programmers forced a rare concession from Facebook on its open-source software: https://qz.com/1087865/outraged-programmers-stood-up-to-facebook-fb-over-open-source-licensing-and-won-sort-of/
  650. Facebook performs successful license surgery on React, GraphQL: https://www.theregister.co.u/2017/09/26/facebook_license_surgery_on_react/
  651. Facebook won't change React.js license despite Apache developer pain: https://www.theregister.co.uk/2017/08/21/facebook_apache_openbsd_plus_license_dispute/

See Also

AJAX | JSON | XML | CSS | HTML | HTML5