title: Can variables in Javascript not be declared in time
body: <p>I have been learning the asynchronous nature of Javascript, and I understand that certain functions take a certain amount of time to complete. </p>
  
  <p>For instance, I'll create a promise when I want to do something when a file operation is complete.</p>
  
  <p>Declaring variables with different data types don't need to be in a promise, but I was wondering if it is possible for a normal variable to not be declared in time when it is later referenced? I understand that they are near-instant, and it is never a problem, but I would like some insight on how this is handled in the interpreter. </p>