ときどき JavaScript を使用して、別の言語で慣れていたパターンを使用するようにしています。関数の結果が操作の成功に関するものであり、パラメーターの 1 つが実際の戻り値への参照である場合です。
JavaScript には参照渡しがないことを知っているので、唯一の方法はオブジェクト (配列を含む) を使用することです。だから何か
function getSomething(res)
{
if (....)
{
res["value"] = 123;
return true;
} else
return false;
}
しかし、これはいくつかの不都合につながります。そのうちの 1 つは、実際にこの関数を使用するときです。慣例を忘れてはならないので、これに対処する私の自然な方法は次のとおりです。
var value = {};
if (getSomething(value))
{
if (value == 123)
{
}
}
私が覚えておくべき正しい方法は
...
if (value["value"] == 123)
...
また、{} で値を初期化するのを忘れると、別のエラーが発生します。
ということで、もしかしたら言語を混ぜて使う方への質問かもしれません。そのようなリターンパターンに便利だと思われる規則は何ですか?
UPDATE : C プログラムに表示される実際のコード フラグメントの例として
if (getSomethingA(&res1) && getSomethingB(&res2) && getSomethingC(&res3)) {
...
v = res1*res2*res3;
...
}
「常に規則を覚えるのはそれほど簡単ではない」または行数が多すぎることなく、JavaScriptでこのようなものを実装する方法がわかりません。