Friday, October 10, 2025
HomeLanguagesJavascriptExplain Type assertions in TypeScript

Explain Type assertions in TypeScript

In Typescript, Type assertion is a technique that informs the compiler about the type of a variable. Type assertion is similar to typecasting but it doesn’t reconstruct code. You can use type assertion to specify a value’s type and tell the compiler not to deduce it. When we want to change a variable from one type to another such as any to number etc, we use Type assertion. 

We can either use <> angular brackets or as keywords to do type assertion. When we migrate code from typescript to another language type assertion comes into play. Runtime support comes with typecasting, whereas type assertion has no effect on runtime. It is used by the compiler. 

Example 1: Type assertion using syntax

In this example, we give assign the ‘neveropen’ string to a variable of type unknown. We further assign the value of the string to another variable and calculate the length of the string. In the below code we have asserted that str is of type number by using the “as” keyword. 

Javascript




let str: unknown = "neveropen";
console.log(str);
  
let len: number = (str as string).length;
console.log(len);


Output:

neveropen
13

Example 2: Type assertion using <> angle brackets syntax

This example is similar to the before one, we assign a number to a variable of type any and then assign the value to another variable and we have asserted that the num variable is of type “Number”. We used <> angle brackets instead of keywords.

Javascript




let num: any = 77;
  
// Conversion from any to number
let num1 = <Number> num;
  
console.log(num1);
console.log(typeof num1);


Output:

77
number

Example 3: Type assertion for objects

We may occasionally encounter a circumstance in which an object is defined without any properties. The compiler throws an error as a result of this. However, we may prevent this issue by utilizing type assertion. With the help of the following example, we can comprehend it.

Javascript




interface details {}
details.first_name = "Sarah";
details.last_name = "jane";


Output:

error TS2693: 'details' only refers to a type, but is being used as a value here.
details.first_name = "Sarah";

After defining parameters, the compiler doesn’t throw an error. Compiler raises an error in the before example as it cannot find any properties within the object. Type assertion helps us resolve such errors. We used type assertion on details.

Javascript




interface details {
    first_name: string;
    last_name: string;
}
  
let person_1 = <details>{};
person_1.first_name = "Sarah";
person_1.last_name = "jane";
  
console.log(person_1);


Output:

{ first_name: 'Sarah', last_name: 'jane' }

Reference: https://www.typescriptlang.org/docs/handbook/basic-types.html#type-assertions

RELATED ARTICLES

Most Popular

Dominic
32349 POSTS0 COMMENTS
Milvus
87 POSTS0 COMMENTS
Nango Kala
6715 POSTS0 COMMENTS
Nicole Veronica
11880 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11941 POSTS0 COMMENTS
Shaida Kate Naidoo
6838 POSTS0 COMMENTS
Ted Musemwa
7097 POSTS0 COMMENTS
Thapelo Manthata
6792 POSTS0 COMMENTS
Umr Jansen
6792 POSTS0 COMMENTS