JavaScript
Notes
In JavaScript, a type is a runtime tag describing the actual kind of data you have at runtime.
A property is any value attached to an object. A method is a property that is a function.
this
, always references the owner of the function it is in, for this case — since it is now out of scope — the window/global object.Can
console.log({ myConst })
to log the variable with the value as an object so you see the variable name & the value. As opposed to doingconsole.log(myConst, 'myConst')
.
Code
Links
The Definitive Guide to Object-Oriented JavaScript - Amazing video to understand JS inheritance & objects.
JavaScript Algorithms - Algorithms and data structures implemented in JavaScript with explanations and links to further readings. (HN)
Pax - Fastest JavaScript bundler in the galaxy.
BundlePhobia - Find the cost of adding a npm package to your bundle. (Code) (Tweet)
JavaScript Visualizer - Tool for visualizing Execution Context, Hoisting, Closures, and Scopes in JavaScript.
WallabyJS - Integrated continuous testing tool for JavaScript.
Design Patterns JS - All the 23 (GoF) design patterns implemented in JavaScript.
30 seconds of code - Curated collection of useful JavaScript snippets that you can understand in 30 seconds or less.
puppet-run - Run anything JavaScript in a headless Chrome from your command line.
Yalc - Better workflow than npm | yarn link for package authors.
FromJS - See where each character on the screen came from in code.
RunJS - Scratchpad for your thoughts, a playground for your creativity.
Pack - Helps you build amazing packages without the hassle.
@pika/web - Install npm dependencies that run directly in the browser. No Browserify, Webpack or import maps required.
JavaScript Developer's Reading List - List of hand-picked books and articles for JavaScript developers.
Promisees - Promise visualization playground for the adventurous.
promise-fun - Promise packages, patterns, chat, and tutorials.
Perflink - JavaScript performance benchmarks that you can share via URL.
Fastpack - Pack JavaScript fast & easy.
recast - JavaScript syntax tree transformer, nondestructive pretty-printer, and automatic source map generator.
Madge - Create graphs from your CommonJS, AMD or ES6 module dependencies.
npmfs - JavaScript Package Inspector.
Fantasy Land Specification - Specification for interoperability of common algebraic structures in JavaScript.
Meriyah - 100% compliant, self-hosted javascript parser with high focus on both performance and stability.
Poi - Zero-config bundler for JavaScript applications.
Jay - Supercharged JavaScript REPL.
Just - Library that organizes build tasks for your JS projects.
JSMonday - Weekly JS inspiration.
Chevrotain - Parser Building Toolkit for JavaScript.
Mesh Spreadsheet - Visualise data and edit JavaScript code using a spreadsheet interface. (Web)
Tenko - 100% spec compliant ES2020 JavaScript parser written in JS.
code-red - Experimental toolkit for writing x-to-JavaScript compilers.
Pika - New kind of package registry for the modern web.
runpkg - Lets you navigate any JavaScript package on npm thanks to unpkg.com.
Fuzzilli - JavaScript Engine Fuzzer.
Cancelation without Breaking a Promise (2016) - Reflecting on what was so tricky about cancelable Promises, embracing functional purity as a solution.
Best of JS - Best of JavaScript, HTML and CSS. (Code) (Web Timeline) (HN)
omggif - JavaScript implementation of a GIF 89a encoder and decoder.
jsep - JavaScript Expression Parser.
I have been underestimating JS (2020) - Understanding V8 and NodeJS Steams.
GistLink - Code apps or components. See them render as you type. Share your creations via URL.
source-map-explorer - Analyze and debug space usage through source maps.
Diglett - Keep your JS project lean by detecting duplicate dependencies.
Learn JavaScript - Easiest way to learn & practice modern JavaScript step by step.
IxJS - Interactive Extensions for JavaScript.
Renovate - Universal dependency update tool that fits into your workflows.
ESbuild - Extremely fast JavaScript bundler and minifier written in Go. (HN) (Architecture) (serverless-esbuild) (Awesome) (Web) (Esbuild plugins) (Tweet) (HN) (Online Playground)
esbuild-register - Transpile JSX, TypeScript and esnext features on the fly with esbuild.
Fastpack - Pack JS code into a single bundle fast & easy.
guijs - App that helps you manage JS projects with a Graphical User Interface.
Rome Toolchain - Linter, compiler, bundler, and more for JavaScript, TypeScript, HTML, Markdown, and CSS. (Web) (HN) (HN 2) (HN 3)
Bolt - Super-powered JavaScript project management.
tiny-js - Aims to be an extremely simple (~2000 line) JavaScript interpreter.
Seafox - Blazing fast 100% spec compliant, self-hosted javascript parser written in Typescript.
jscodeshift - Toolkit for running codemods over multiple JavaScript or TypeScript files.
Hegel - Advanced static type checker. (Web) (Intro to Hegel)
NectarJS - JS God mode. No VM. No Bytecode. No Garbage Collector. Full Compiled and Native binaries.
Shifty - Tweening engine for JavaScript. It is a lightweight library meant to be encapsulated by higher level tools.
JS Bits - JavaScript concepts explained with code.
Binary-parser - Parser builder for JavaScript that enables you to write efficient binary parsers in a simple and declarative manner.
estrella - Light-weight runner for the esbuild compiler.
jsparagus - JavaScript parser written in Rust.
JavaScript Standard Style - JavaScript style guide, linter, and formatter. (Code)
Boa - Experimental Javascript lexer, parser and compiler written in Rust.
UI.dev - Master the JavaScript Ecosystem.
Google Closure Compiler - Tool for making JavaScript download and run faster.
JSConf - Conferences for the JavaScript Community.
Skypack - New kind of JavaScript delivery network. (HN) (Introducing Skypack Discover) (Docs)
goja - ECMAScript 5.1(+) implementation in Go.
JavaScript Playgrounds - Interactive JavaScript sandbox. (Code)
Speakeasy JS - Weekly JavaScript meetup.
quickjs-rs - Rust wrapper for QuickJS.
esbuild-js - es-build implemented in JS.
RegPack - Self-contained packer for size-constrained JS code.
ESTree Spec - Manipulate JavaScript source code.
SurviveJS - Learn JavaScript. From apprentice to master.
CJS Module Lexer - Fast lexer to extract named exports via analysis from CommonJS modules.
export-size - Analysis bundle cost for each export of an ESM package.
ESM - Fast, global content delivery network ES Modules.
Benny - Dead simple benchmarking framework for JS/TS libs.
ni - Use the right package manager. Detect whether to use npm/yarn/pnpm.
JS Operator Lookup - Search JavaScript Operators.
What the fuck JavaScript - List of funny and tricky JavaScript examples.
Component Driven User Interfaces - Open standard for UI component examples based on JavaScript ES6 modules. (Code) (Website Code)
Astring - Tiny and fast JavaScript code generator from an ESTree-compliant AST.
EStimator.dev - Calculate the size and performance impact of switching to modern JavaScript syntax. (Code)
Module Server - System for efficient serving of CommonJS modules to web browsers.
Source Map Visualization - Visualization of JavaScript source map data, which is useful for debugging problems with generated source maps. (Code)
Manypkg - Linter for package.json files in Yarn, Bolt or pnpm monorepos.
Perflink - JS Benchmarks.
Starlight - JS engine in Rust.
Glide - Interpreted JavaScript VM written entirely in safe rust.
stricter - Project-wide js-linting tool.
Kataw - Insane fast JavaScript toolchain.
JS Tooling not in JS - Curated list of JavaScript tooling not written in JavaScript. (HN)
Duktape - Embeddable Javascript engine with a focus on portability and compact footprint.
FIBJS - JavaScript runtime built on Chrome's V8 JavaScript engine.
Endo - Distributed secure JavaScript sandbox, based on SES.
Beginner Web Dev - Getting Started with JavaScript Course.
Optimizr - Aggressive compile-time optimizations for modern JavaScript.
Tiny Treeshaker - JavaScript tree shaking in 200 lines of code. (HN)
Just JavaScript - Discover and rebuild your JavaScript mental models.
Iterator Helpers - Methods for working with iterators in ECMAScript. (Web)
JavaScript on Compute@Edge - Compile JavaScript to WebAssembly and run it on Fastly.
JavaScript error logging - Collection of JavaScript error logging services, and comparisons among them.
Regenerated.Dev - Rethinking JavaScript with Generator Functions.
JavaScript Array Explorer - Find the array method you need without digging through the docs. (Code)
Multithreaded JavaScript Book (2021) - Explores the various features that JavaScript runtimes have at their disposal for implementing multithreaded programming.
JS-Interpreter - Sandboxed JavaScript interpreter in JavaScript. Execute arbitrary JavaScript code line by line in isolation and safety.
EStruct - Traverses JavaScript projects and maps all the dependencies and relationships to a JSON.
unbuild - Unified JavaScript build system.
Nope - Small, simple and fast JS validator.
jstime - Another JavaScript Runtime.
dum - npm scripts runner written in Rust.
Esprima-python - ECMAScript parsing infrastructure for multipurpose analysis.
ReevaJS - JavaScript engine written from scratch using Kotlin.
JavaScript Self-Profiling API Proposal - Proposal for a programmable JS profiling API for collecting JS profiles from real end-user environments.
Last updated