# JSON Is Based on JavaScript Object Literals

In the English language, the word “literal” is an adjective used to imply that what is being said is exact, not a metaphor. When your friend says, “She showed up out of nowhere and I literally dropped my sandwich,” he is stating that the dropping of the sandwich is not a metaphor.

In programming, the word “literal” is a noun. A literal is a value that is represented literally with data. It is written precisely as it is meant to be interpreted. If you aren’t familiar with programming concepts, then this might seem strange. Let’s take a quick look at literals.

Do you carry cash in your wallet, or a debit card? When I stop off at the sandwich shop and hand the cashier a five dollar bill for my sandwich, I physically watch my five dollars leave my wallet. When I swipe my debit card to pay for a sandwich, I know I have five dollars less in my back account, even though I didn’t see it happen.

In programming, we often use variables to represent values. For example, I might use a variable I call x in an expression like:

`x = 5 `

Then, later on, I might want to add five more to x:

`x = x + 5 `

At this point, we know the value of x is 10, but we don’t see 10. In this example, x was the variable, and 5 was a literal. In our sandwich shop example, we could say that the five dollars cash was a literal, and the debit card was a variable. When we see the actual value, it is a literal value.

In the “x = 5” example, 5 is a number ...

Get Introduction to JavaScript Object Notation now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.