JavaScript does not have a built-in print or output function like Python or C++. However, JavaScript provides several different ways to display data depending on where and how you want the user (or yourself as a developer) to see it.
There are four primary ways to "output" or display data in JavaScript:
innerHTML — Writing data directly into an HTML element.document.write() — Writing data directly into the HTML document.window.alert() — Showing an alert dialog box to the user.console.log() — Writing data to the browser's developer console (used for debugging).The most common way to display data in JavaScript is by updating the content of an HTML element. To do this, you first select the element using its id and then modify its innerHTML property.
<!DOCTYPE html>
<html>
<body>
<h1>My First Web Page</h1>
<p id="demo"></p>
<script>
// Changes the text inside the <p> with id="demo"
document.getElementById("demo").innerHTML = 5 + 6;
</script>
</body>
</html>
innerHTML of an element is the standard, safest, and most flexible way to display output in modern web development.
The document.write() method writes raw HTML or text directly into the document stream. It is mostly used for testing purposes because of a major drawback.
<!DOCTYPE html>
<html>
<body>
<h1>My First Web Page</h1>
<p>My first paragraph.</p>
<script>
// Writes straight to the document
document.write(5 + 6);
</script>
</body>
</html>
document.write() after an HTML document is fully loaded will delete all existing HTML. It should only be used for basic testing and never in production code.
You can use an alert box to display data. This will pause the execution of the page until the user clicks "OK". It is a very intrusive way to display information, so it is usually reserved for critical warnings or simple debugging.
<!DOCTYPE html>
<html>
<body>
<h1>Welcome to My Page</h1>
<script>
// Pops up an alert box with the result
window.alert(5 + 6);
</script>
</body>
</html>
window. prefix and just write alert(). In web browsers, the window object is the global scope object, meaning variables, properties, and methods by default belong to the window object.
For debugging purposes, the absolute best method to output data is the console.log() method. It writes data to the browser's developer console (press F12 to open it in your browser). Users do not see this output, making it perfect for developers tracking down bugs.
<!DOCTYPE html>
<html>
<body>
<h1>Check the Console!</h1>
<script>
// Invisible to the user, visible in F12 Dev Tools
console.log(5 + 6);
</script>
</body>
</html>
console.log() when checking if a variable has the correct value or if a function is running properly.
| Method | Target | Primary Use Case |
|---|---|---|
innerHTML |
An HTML element | Updating UI dynamically (Best practice) |
console.log() |
Browser Developer Tools | Debugging behind the scenes |
window.alert() |
Popup dialogue box | Urgent user notifications |
document.write() |
The HTML document | Quick testing (Avoid in production) |
innerHTML when you want users to see new data in the page body.console.log() when you need to inspect values without disrupting the user layout.document.write() on a fully loaded page, unless you want to erase everything.window.alert() sparingly, as rapid popups create a terrible user experience.