4 April 2023
How to Use Type Guards in TypeScript
function isString(value: unknown): value is string {
return typeof value === 'string';
}
Once you have defined a type guard, you can use it to narrow down the type of a variable in your code. Here's an example:
function logLength(value: unknown) {
if (isString(value)) {
console.log(value.length);
} else {
console.log('Value is not a string.');
}
}
You can also create custom type guards for more complex types. Here's an example of a custom type guard for checking if an object has a ‘name’ property:
interface Person {
name: string;
age: number;
}
function hasNameProperty(value: unknown): value is Person {
return typeof value === 'object' && value !== null && 'name' in value;
}
function logPersonName(person: unknown) {
if (hasNameProperty(person)) {
console.log(person.name);
} else {
console.log('Value is not a person.');
}
}
Conclusion
In this how-to guide, I have explained how to use type guards in TypeScript, including defining a type guard, using a type guard, creating custom type guards, and using custom type guards. By using type guards, you can write more robust and error-free code in TypeScript.
Official Documentation:
For more information about using type guards in TypeScript, you can refer to the official TypeScript documentation:
TypeScript: https://www.typescriptlang.org/docs/handbook/advanced-types.html#type-guards-and-differentiating-types
I hope this guide helps you get started with using type guards in TypeScript.
We would recommend our course in TypeScript.
CONTACT
+44 (0)20 8446 7555
Copyright © 2025 JBI Training. All Rights Reserved.
JB International Training Ltd - Company Registration Number: 08458005
Registered Address: Wohl Enterprise Hub, 2B Redbourne Avenue, London, N3 2BS
Modern Slavery Statement & Corporate Policies | Terms & Conditions | Contact Us
POPULAR
AI training courses CoPilot training course
Threat modelling training course Python for data analysts training course
Power BI training course Machine Learning training course
Spring Boot Microservices training course Terraform training course