戻る

グローバルスコープへのアクセス
シャドーイングを使ったスコープ内からのグローバルスコープへのアクセス

シャドーイングを使用すると外側のスコープよりも優先されます。
状況によっては外側のスコープで宣言した変数や関数を使用したいケースがあります。
グローバルオブジェクトのプロパティにアクセスする方法にglobalThisを使用した方法があります。

[サンプル]
copy
let num1 = 2;
globalThis.add = num2 => 
{
	return num1 + num2;
};

function test()
{
	const add = num2 => {
		result = globalThis.add(num2);
		return result;
	};
	console.log(add(3));//5
}

console.log(add(8));//10
test();
console.log(add(8));
globalThis.add = num2 =>
が実行されます。
addの引数が8なのでnum2に入ります。
num1は「let num1 = 2;」です。
よって、2 + 8 =10が返ります。

test();
function test()
が実行されます。
console.log(add(3));
が実行されると
const add = num2 => {
が実行されます。
num2にはaddの引数の3が入ります。
result = globalThis.add(num2);
「globalThis」を使用するとローカルスコープから外側のスコープで定義した関数、変数等を実行できます。
したがって
.globalThis.add = num2 =>
が実行されます。
2 + 3 = 5が返ります。



戻る


著作権情報
ホームページおよプリ等に掲載されている情報等については、いかなる保障もいたしません。
ホームページおよびアプリ等を通じて入手したいかなる情報も複製、販売、出版または使用させたり、
または公開したりすることはできません。
当方は、ホームペーよびアプリ利用したいかなる理由によっての障害等が発生しても、
その結果ホームページおよびアプリ等を利用された本人または他の第三者が被った損害について
一切の責任を負わないものとします。