1. ホーム
  2. javascript

[解決済み] javascriptの変数参照/エイリアス

2022-02-27 05:16:17

質問

javascript で、何らかの方法でローカル変数にエイリアスや参照を割り当てることは可能でしょうか?

C言語的なものという意味です。

function foo() {
  var x = 1;
  var y = &x;
  y++;
  alert(x); // prints 2 
}

= EDIT =

このコードでarguments.calleeの別名をつけることは可能でしょうか?

function foo() {
  arguments.callee.myStaticVar = arguments.callee.myStaticVar || 0;
  arguments.callee.myStaticVar++;
  return arguments.callee.myStaticVar;
}

解決方法は?

JavaScriptでは、整数や文字列などのプリミティブ型は値で渡されるのに対して、オブジェクトは参照で渡されます。そのため、これを実現するためには、オブジェクトを使う必要があります。

// declare an object with property x
var obj = { x: 1 };
var aliasToObj = obj;
aliasToObj.x ++;
alert( obj.x ); // displays 2