Netanel Basal

You’ve probably used the as type assertion at least once when working with Typescript. For example:

Type assertions are a way to tell the compiler, “trust me, I know what I’m doing.”

The problem is that it doesn’t do any special data checking. TypeScript assumes that you, the programmer, have performed any special checks that you need.

Now let’s say we need to update our interface and add a new property:

We won’t get any Typescript errors in this case, which can lead to bugs in our application. A safer option is always to type the variable explicitly:

Follow me on Medium or Twitter to read more about Angular and JS!

--

--

In Typescript, Record is a common way to express an object type. For example:

The disadvantage of using a Record in some cases is that you lose the benefit of expressing the meaning of the key. Let’s take the following example:

Looking at this code, I can’t know that the string type inside the memory Record refers to a Lambda’s id.

There are two possible solutions. The first is to use an index signature:

This approach has the advantage that you can choose the property’s name. Consequently, you are limited to using a string, number, or symbol as the type.

The second is to point to the Lambda id type directly:

Now I can understand the relationship in my schema more easily.

Follow me on Medium or Twitter to read more about Angular and JS!

--

--

Netanel Basal

Netanel Basal

A FrontEnd Tech Lead, blogger, and open source maintainer. The founder of ngneat, husband and father.