Let's open up your browser's console and take a closer look.
Suppose you type
a + b and hit
ENTER. You will see something like the following:
ReferenceError is telling us that we have not declared the variable
a and therefore it is not defined.
a and see what happens.
let (as well as the
const) keyword is used to declare a variable but since we have not assigned it an actual value,
a is undefined.
The difference may feel subtle but they really are different things. In one case,
a doesn't even exist (i.e. not defined) and in the other it does but doesn't have a value.