ISSUE #195

TypeScript 3.7 released, React concurrent mode, and more


MODERN JAVASCRIPT

Object preventExtension vs seal vs freeze

ECMAScript 5 introduced new Object methods to Javascript. Among them preventExtensions, seal, freeze methods will be compared to each other.

Understand JavaScript sequencing and asynchronous behaviors to leverage code parallelism. | Andréas Hanss

A little guide on how you can improve your applications performance using JS concurrency model and leveraging code parallelism.

Attributes of object properties in JavaScript

In this blog post, we take a closer look at how the ECMAScript specification sees JavaScript objects. In particular, properties are not atomic in the spec, but composed of multiple attributes (think fields in a record). Even the value of a data property is stored in an attribute!

Scaling WebSocket Connections using Shared Workers | Ayush Gupta

Web Sockets allow real-time communication between the client browser and a server. They are different from HTTP because they not only allow client to request data from the server but also allow server to push data from the server.

TYPESCRIPT

⭐ TypeScript In Under 2 hours

Are you looking for an opportunity to start with TypeScript? I've started a new video course to help you with that. We'll walk through some very basics of types to advance topics. We'll see how to migrate an existing project to TypeScript, and finally, learn to configure Visual Code and Vim for a comfortable and productive workflow. While it is still in progress, you can order it now with 67% discount using this link.

Announcing TypeScript 3.7 | TypeScript

We’re thrilled to announce the release of TypeScript 3.7, a release packed with awesome new language, compiler, and tooling features. If you haven’t yet heard of TypeScript, it’s a language based on JavaScript that adds static type-checking along with type syntax.

Optional chaining and nullish coalescing in TypeScript 3.7 - YouTube

Curious about all the TypeScript 3.7 hype? Check out this video to learn more about optional chaining and nullish coalescing in TypeScript 3.7.

Gradual move to TypeScript. Running JavaScript and TypeScript side-by-side

TypeScript has a lot of advantages. However, it’s not often that you are starting a brand new project. More often though you are working on an existing codebase and simply don’t have luxury of rewriting everything from scratch. After all, we need to deliver new features and fix annoying bugs.

Strongly-typed destructuring and rest parameters - Carl's Blog

Destructuring assignment and rest parameters are awesome and typical in codebases these days. Is it possible to strongly-type these though

REACT

Building Great User Experiences with Concurrent Mode and Suspense | React Blog

At React Conf 2019 we announced an experimental release of React that supports Concurrent Mode and Suspense. In this post we’ll introduce best practices for using them that we’ve identified through the process of building the new facebook.com.

Experimenting with the new React Concurrent mode

I've been playing around with React’s new Concurrent Mode and it is amazing. A little mind-bendy, a dash mad, and a whole lot of wonderful.

React (with Hooks) from Scratch - Shawn Wang - YouTube

Talk recording from React Advanced 2019 Conference https://reactadvanced.com/ # React (with Hooks) from Scratch In this talk, we’ll create an effective menta...

Using React (Hooks) with D3

Hi, this is part 6, where I am adding responsiveness with ResizeObserver and a custom hook!

ANGULAR

Debugging Memory Leaks in Angular - Bits and Pieces | Giancarlo Buomprisco

The situations where memory leaks are most likely to happen, and how you can deal with them using Chrome DevTools.

FUNCTIONAL PROGRAMMING

Algebraic Structures: Things I wish someone had explained about functional programming

Algebraic Structures are something I wish I’d understood better, sooner. I had a hazy idea of what they were, but didn’t know the correct terminology. That was a massive barrier to finding out more. This article is my attempt to stop that happening to others. We'll look at: What are algebraic structures? How do we use them in JavaScript? Why would we bother? What's the big deal?

WORKFLOW AND TOOLING

Beyond post-install messages: npm adds support for package funding

Open Collective previously promoted the use of postinstall messages, output in the developer terminal each time someone installed a package. This practice proved controversial, and in September we stopped encouraging it

Visual Studio Code October 2019

See what is new in the Visual Studio Code October 2019 Release (1.40)

TESTING

Modern end to end Testing with Cypress.io - InterCloud - Medium | Georges Antonio Indrianjafy

Just as most modern development teams, we are facing ever-growing product needs. That said, the speed and quality of development need to be on par with our ambitions. In order to move fast without…

UI Testing with React, Mirage, Jest and Testing Library - YouTube

This video goes over some of the basics of writing UI tests for an existing React application using Mirage, Jest, and Testing Library. - Demo on Netlify: htt...

Weekend JavaScript

Hey! I'm Ianis. And 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.
1109 already subscribed.