宣言をした変数はいつまで残り続けるのでしょうか?
聞いたところ、その変数が所属する関数のスコープ内の処理が終了したときに、
変数も破棄される。
また、グローバル変数の場合はずっと常に残っているのでいつで使える

と聞いたのですが、この認識で正しいでしょうか?

JSについてです。

また、クラス上で宣言した変数の場合はすべてがグローバルになるのでどこからでも参照できるようですが、
グローバル変数と同じで破棄されることがなく常に存在すると考えてよろしいでしょうか?