While building an admin panel, when an admin selects a user, their details are fetched from the server and stored in a userInfo object. But sometimes, the server returns an empty object ({}), meaning no user was found.
Understanding how to perform this check efficiently can prevent potential bugs and improve your application’s performance. We will explore various methods and provide detailed examples using USA-specific names to make the concepts clear and relatable.
In this tutorial, I will explain how to check for an empty object in TypeScript. This is a common task in web development, especially when dealing with APIs and dynamic data.
Why Check for an Empty Object?
Checking if an object is empty is crucial in many scenarios, such as:
- Validating API responses
- Ensuring form data integrity
- Managing state in front-end frameworks
An empty object is one that has no enumerable properties of its own. This means it has no key-value pairs defined.
Methods to Check for an Empty Object in TypeScript
Below, I will explain the methods to check for an Empty Object in TypeScript and display the message accordingly.
1. Using Object.keys()
The Object.keys() method returns an array of a given object’s own enumerable property names. If the length of this array is zero, the object is empty.
Example
interface User {
name?: string;
age?: number;
}
const user: User = {};
if (Object.keys(user).length === 0) {
console.log("The user object is empty.");
}In this example, we define a User interface and create an empty user object. By checking the length of the array returned by Object.keys(user), we determine that the object is empty.

2. Using Object.entries()
Similar to Object.keys(), the Object.entries() method returns an array of a given object’s own enumerable string-keyed property [key, value] pairs. If this array is empty, the object is empty.
Example
const address = {
street: "123 Main St",
city: "Springfield",
state: "IL"
};
const emptyAddress = {};
if (Object.entries(emptyAddress).length === 0) {
console.log("The address object is empty.");
}Here, we have two objects: address and emptyAddress. By using Object.entries(emptyAddress), we check if emptyAddress has any properties.

3. Using a Custom Function
You can create a custom function to check if an object is empty. This method can be particularly useful if you need to perform additional checks or operations.
Example
function isEmptyObject(obj: object): boolean {
for (let key in obj) {
if (obj.hasOwnProperty(key)) {
return false;
}
}
return true;
}
const car = {
make: "Tesla",
model: "Model S"
};
const emptyCar = {};
console.log(isEmptyObject(emptyCar)); // true
console.log(isEmptyObject(car)); // falseThe isEmptyObject function iterates over the object’s properties using a for...in loop and checks if the object has any own properties using hasOwnProperty.

4. Using Lodash Utility Library
Lodash is a popular utility library that provides various functions for common programming tasks. The _.isEmpty function can be used to check if an object is empty.
Example
import _ from 'lodash';
const product = {
name: "iPhone",
price: 999
};
const emptyProduct = {};
console.log(_.isEmpty(emptyProduct)); // true
console.log(_.isEmpty(product)); // falseBy importing Lodash and using _.isEmpty, we can easily check if an object is empty.

Real-World Scenarios
1. Validating API Responses
When working with APIs, it’s common to receive responses that may or may not contain data. Checking for empty objects can help you handle such cases gracefully.
Example
async function fetchUserData(userId: string) {
try {
const response = await fetch(`https://jsonplaceholder.typicode.com/users/${userId}`);
if (!response.ok) {
console.log(`Error: ${response.status} ${response.statusText}`);
return;
}
const data = await response.json();
if (Object.keys(data).length === 0) {
console.log("No user data found.");
} else {
console.log("User data:", data);
}
} catch (error) {
console.error("Failed to fetch user data:", error);
}
}
fetchUserData("1");In this example, we fetch user data from an API and check if the response is empty before proceeding.

2. Ensuring Form Data Integrity
When handling form submissions, you may need to ensure that the form data is not empty before processing it.
Example
function isEmptyObject(obj: object): boolean {
return Object.keys(obj).length === 0;
}
function handleSubmit(formData: object) {
if (isEmptyObject(formData)) {
console.log("Form data is empty. Please fill out the form.");
return;
}
console.log("Form data submitted:", formData);
}
const formData = {
firstName: "John",
lastName: "Doe",
email: "john.doe@example.com"
};
handleSubmit(formData);Here, we use the isEmptyObject function to check if the form data is empty before submitting it.

Conclusion
Checking for an empty object in TypeScript is a fundamental task that can be accomplished using various methods, such as Object.keys(), Object.entries(), custom functions, and utility libraries like Lodash. Each method has its own use cases and benefits, making it essential to choose the right approach based on your specific needs.
By understanding and implementing these techniques, you can ensure the integrity of your data and improve the robustness of your applications. Whether you’re validating API responses, handling form submissions, or managing state in front-end frameworks, knowing how to check for an empty object will undoubtedly enhance your development workflow.
You may like to read:
- How to Check the Type of a Variable in TypeScript?
- How to Set Default Values for TypeScript Types?
- Define and Use TypeScript Interface Array of Objects
- Check Types in TypeScript

I am Bijay Kumar, a Microsoft MVP in SharePoint. Apart from SharePoint, I started working on Python, Machine learning, and artificial intelligence for the last 5 years. During this time I got expertise in various Python libraries also like Tkinter, Pandas, NumPy, Turtle, Django, Matplotlib, Tensorflow, Scipy, Scikit-Learn, etc… for various clients in the United States, Canada, the United Kingdom, Australia, New Zealand, etc. Check out my profile.