*Properties* (like the length property) can be thought of as dependent variables within your variable. Whenever you change your string, the length property will update. You don't need parentheses to access properties.
*Methods* can either directly change your variable, or (as is the case with the methods we've used so far) return a new value from some transformation on your variable. You'll notice that after calling toUpperCase() on our string, the original string remains unchanged. Not all methods behave this way, as you will see soon.
A brief note: it is also possible to have an empty string. The empty string is denoted by two quotes with nothing in between them.