Inspired by this tweet by David Walsh:

to which I replied “prompt()” as a joke, I got this idea of making a post about this super old API called prompt() exposed by the browser’s window object.

prompt() lets us get input from the user.

This API dates back to the dawn of the Web, and is supported by every browser.

It’s very simple and I think it might come handy especially while prototyping an app, so you can just call a prompt() and be done with it, without setting up a form.

Here’s how it works: you call prompt()

You pass a string that represents the question we ask to the user:

prompt("How old are you?")

This is how it looks in Chrome:

This is in Safari:

This is in Firefox:

As you can see, it’s different but the concept is the same

You should call window.prompt(), but since window is implicit, prompt() works

The browser blocks the script execution until the user enters something and clicks any of the OK or Cancel button. You can’t escape from that without clicking a button.

The value entered is then returned from this function, so we can assign it to a variable:

const age = prompt("How old are you?")

You can pass a second parameter that’s the default value prefilled in the prompt:

const age = prompt("How old are you?", 18)

If the user enters nothing and clicks OK, an empty string will be returned.

If the user clicks the Cancel button, the prompt() function call returns null

Download my free JavaScript Beginner's Handbook and check out my JavaScript Course!

More js tutorials: