Inspecting Elements and Functions in the Console
Greetings, friends! In popular browsers such as Google Chrome, Firefox, and Safari, there is a handy inspect function that we can use in the DevTools console. This function lets us inspect elements, objects, and functions. The inspect function will do something different depending on the type of object we pass into it.
Setting up an Environment
Let's create an environment to experiment with inspect. First, create an index.html file with the following contents:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Using the Inspect Utility in the Console</title>
</head>
<body>
<h1>Awesome Food</h1>
<ul id="food">
<li>Pizza</li>
<li>Donut</li>
<li>Potato</li>
</ul>
<script src="main.js"></script>
</body>
</html>
Next, let's create a JavaScript file called main.js with the following contents:
const sayHello = () => {
console.log('Greetings, friends!');
};
const books = [
'Cracking the Coding Interview',
'JavaScript: The Definitive Guide',
'SVG Animations'
];
Passing in HTML Elements
In this tutorial, I'm using Google Chrome. If you open the index.html file in Google Chrome, the main.js script will load. I am using the Live Server VS Code Extension to run the index.html file from a local server. We can open the Google Chrome console using the keyboard shortcut Option + Command + J on a Mac or Ctrl + Shift + J on Windows.
Now, let's experiment with the inspect function!
inspect(document.body);
Run this code in Google Chrome's console, and you should be taken to the Elements panel, directly on the <body> element inside the DOM.

Next, go back to the console and run the following.
inspect(document.getElementById('food'));
You should be taken back to the Elements panel, but with the <ul id="food"> element highlighted. As a shortcut, you could have used the following code instead:
inspect(food);
This should take you to the same element. This works because the ul element has an ID of food assigned to it. The browser will automatically assign a property to the window object that has the same name as the id. If you ran window.food or window['food'] in the console, then you'll end up seeing the ul element.
Passing in an Object
Passing in objects to the inspect function doesn't do anything special. Let's go back to the console and run the following:
inspect(books);
We defined the books variable back in the main.js file. When we run the inspect function on objects, they will simply be logged to the console as if we ran console.log.
['Cracking the Coding Interview', 'JavaScript: The Definitive Guide', 'SVG Animations']
Note that Firefox may provide more information than console.log when using the inspect function.
Array(3) [ "Cracking the Coding Interview", "JavaScript: The Definitive Guide", "SVG Animations" ]
0: "Cracking the Coding Interview"
1: "JavaScript: The Definitive Guide"
2: "SVG Animations"
length: 3
In Safari's DevTools, the inspect function may not log the books array and only log undefined.
Passing in a Function
Next, let's try passing a function into the inspect utility. Run the following code in the console.
inspect(sayHello);
Assuming you're running the index.html file through a server on your computer, this should cause Google Chrome to jump to the Sources tab in Chrome DevTools. It will show the sayHello function as it appears in the main.js file.

Notice that the function definition of sayHello is logged to the console if you go back to the Console tab in Chrome DevTools. The inspect function is also a useful way for looking at the contents of the function from within the console.
Conclusion
The inspect utility function is provided by popular browsers such as Google Chrome, Firefox, and Safari. There's more than one way of inspecting elements in the DOM, reading the values of objects, and viewing the source code of functions. The inspect function provides a convenient shortcut for hopping between the Elements and Source tabs in DevTools.