関数内の変数名は外とは独立に扱われます。
グローバル変数や他の関数の変数と同名でも衝突しません。
あまり良い用法ではありませんが、ライブラリ等でブッキングしたとしても関数の外では影響を与えないと認識しておく必要はあります。
実際のところ
グローバル変数myvalを設定し、別の関数内で同様の変数を設定したケースを考えます。
まずvarから。
”()”内に無名関数を定義してあげると、それ自体がFunction化するので()で実行してやります。
var myval; (()=>{var myval = 0x42; console.log(myval);})(); //>66 myval //> undefined
letの場合も同様です。
var myval; (()=>{let myval = 0x42; console.log(myval);})(); //> 66 myval //> undefined