ISSUE #204

ECMAScript 2020, TypeScript 3.8, and others


MODERN JAVASCRIPT

What's new in ECMAScript 2020 (ES2020)

It’s time for yet another update on the ever-changing work of art that is JavaScript. In this article, we’re going to review some of the latest and greatest features coming with ES2020.

Understanding the ECMAScript spec, part 1

Tutorial on reading the ECMAScript specification

Breaking Chains with Pipelines in Modern JavaScript

In this post I show how modern JavaScript capabilities can be used to implement a simple library which doesn’t suffer from these restrictions, and how the upcoming pipeline operator will make it much more pleasant to use such a library. This will result in code that is easier to both write and read.

TYPESCRIPT

Announcing TypeScript 3.8 RC | TypeScript

Today we’re announcing the Release Candidate for TypeScript 3.8!

TypeScript: Assertion signatures and Object.defineProperty

In JavaScript, you can define object properties on the fly with Object.defineProperty. This is useful if you want your properties to be read-only or similar.

Demystifying a TypeScript quirk | Me4502

I recently read Asana's blog post on TypeScript quirks and took particular interest in the first TypeScript quirk they mention. While it may seem like an inconsistency, the way the type system behaves here is entirely logical.

Applying SOLID principles to your TypeScript code

The SOLID principles were defined quite some time ago and are still relatable. Their goal is to make our software easier to understand, read, and extend. We accredit this concept to Robert C. Martin from his paper from the year 2000. The actual SOLID acronym was defined later, though. In this article, we go through all of the SOLID principles and reflect them in TypeScript examples.

REACT

Building a Piano with React Hooks

In this article, we will see how to build a piano with react hooks. Building a Piano with React Hooks. if you are completely new to react hooks, check out this course.

React Training: useEffect is not the new componentDidMount

They're almost the same. But there's actually just enough of a difference to possibly get you into trouble -- especially if you're refactoring from classes.

In React, The Wrong Abstraction Kills Efficiency

As a software developer I like to think of myself as intelligent and discerning, but if I'm being completely honest with myself most of the decisions I make around code structure are governed by fairly low-resolution heuristics like 'Don't Repeat Yourself' and 'Keep It Simple, Stupid'.

FUNCTIONAL

Advanced Functional Programming concepts made easy

Usually, I talk and write about the basics of functional programming because I believe they are the easiest to apply and bring the most value. But if you have the basics figured out and want to understand what all the cool Haskell developers are talking about, you came to the right place.

LEARN FROM CODE

GitHub - nickdeny/darkmode-js

DarkModeJS helps you to auto detect user's time and switch theme to darkside

GitHub - vendure-ecommerce/vendure

A headless GraphQL ecommerce framework for the modern web - vendure-ecommerce/vendure

TOOLS AND WORKFLOW

Visual Studio Code January 2020

See what is new in the Visual Studio Code January 2020 Release (1.42)

GitHub - zcuric/eslint-plugin-require-sort

ESlint plugin for sorting requires (CommonJS modules) alphabetically - zcuric/eslint-plugin-require-sort

BOOKS

The Must-Read Javascript Book of 2020 is Free

It’s real! The 2020, 2nd edition of You Don’t Know JS Yet: Get Started is here. See this tweet from February 1st proving its realness

BUILDING THINGS

Implementing 2D Physics in JavaScript | Martin Heinz

Let’s have some fun with JavaScript while implementing realistic 2D physics simulations and visualization!

FUN

I Hate Regex - The Regex Cheat Sheet

i Hate Regex is a regex cheat sheet that also explains the commonly used expressions so that you understand it. Stop hating and start learning.

8-Ball Pool game using JavaScript and Canvas

In this article, I have shared code on my first shot at building a javascript game. It is a classic 8-ball pool game. You can choose to play against a friend, or against an AI, with various difficulty

MISC

How to scale WebSocket? Horizontal & vertical scaling

WebSocket is a powerful protocol, but scaling WebSocket server can be tricky. Learn how to horizontally scale WebSocket.

Interviewing at Facebook — On-Site JavaScript Technical Interview Questions | Adi S

Here are some questions from an on-site technical interview at Facebook in 2019.

JavaScript component-level CPU costs

Let’s talk a bit about keeping tabs on how much CPU is consumed by an application’s JavaScript. And let’s frame the discussion around components – the atomic building blocks of the application

Weekend JavaScript

This is a curated list of JavaScript news and articles (sending every Friday). No spam. Just fresh write-ups on the language features, frameworks, testing practices and beyond.
1150 already subscribed.