Serviceを読んで理解し、同意したものとみなします。スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。2,775件122JavaScriptの参照に関する記事でよく、オブジェクトは共有渡しで、プリミティブ値は値渡しと書かれていますが、仕様書をみても当該の記述を見つけられません。仕様書を読む限り区別がない、つまり全てが値渡しの様に見えてしまいます。個の銅バッジ「オブジェクトは参照の値渡し」と「プリミティブ値は値渡し」と併記されていると混乱してきます。5:52その言い回しについて議論があることは知っていますが、ここではそのことについて深く掘り下げるつもりはありません。「参照の値渡し」、「共有渡し」、もしくはJS界での「参照渡し」のどれと読み違えてもらっても構いません。6:02せっかくの良質問ですので、可能なら「まとめ回答」みたいなのが欲しいですね。仕様書がある程度参考になるかと思います。以下の様な箇所で触れられています。sharing)です。さんがおっしゃっているとおりの理解で間違いないかと思います。個の銅バッジやはり全て共有渡しで正しそうということですね。ありがとうございます。sharing」や「値を持つ」という言葉の定義についてはっきりした記述が見当たらないことです。ES3仕様書の8章は「Types」です。仕様書に実装に関するそれらの記述は見当たりません。|2http://www.ecma-international.org/ecma-262/5.1/#sec-11.2.3http://www.ecma-international.org/ecma-262/5.1/#sec-11.2.4を見ると、関数に渡る引数はそのリストを評価した際にGetValue()をかましていて、いわゆる共有渡しの手順になっていると思うのですが、それでは不足でしょうか。して記述されてそうですね。9:16GetValueは(構造体チックな存在だと思われる)Reference型値の殻を剥く作業であって、本当の根幹ではないと思います。9:173GetValueとPutValue、それとValueに関する記述を探して見ると、そもそもValueの複製を取るという概念自体が存在しませんよね。JSにおけるValueを他の言語の「値」と同等に考えること自体が誤りなのでしょう。それと「参照渡し」「値渡し」っていうのは、あくまでも現象の理解の助けになるように選ばれた用語であって、言語仕様を正確に示すものではないですし。11:152そうですね。この質問をした根底として、「仕様の説明は簡潔にしたとしても、できるだけ仕様書に対し嘘をつかないようにしたい」という目的がありました。複製するように書かれていないということは、プリミティブ値のやり取りであっても同じものを指していると捉えたほうが自然と考え、プリミティブとオブジェクトでわざわざ扱いが違うかように書かれている巷の解説に違和感を感じました。それでもしそれが正しいとすれば、概念を説明するときはオブジェクトを特別扱いせずに、全て共有渡しと言った方が良いのでは無いかというのが私の主張です。11:392やっと合点がいきました。するとちょっと「共有渡し」という言葉も、数値(プリミティブ)に対して使っちゃうと、他の言語からの類推でかなり不自然なことになりませんかね。プリミティブのValue(=共有)はimmutable、ObjectのValue(のプロパティ)はmutable、みたいな説明を付け足す必要がありそうです。オブジェクトの実体を指し示せる変数は存在しません。あるのはオブジェクトの参照を保持出来る変数です。内では一意となります。この一意の値を意味して値渡しという表記されたり記述されたりしているのだと思います。参照されているオブジェクトのプロパティが関数呼び出し時にコピーされる訳ではありませんので、そういう意味では共有渡しと表現される場合もあります。参照型という表現が出来るならば、それはプリミティブ型と言えますね。address.この部分が仕様と思われます。個の銅バッジそれを、仕様書のどこを読めばそうだと言えるのか、その確信が欲しいのです。オブジェクトの参照を保持というのは、要はオブジェクトは変数に間接的に結び付けられているということですよね。どこでその間接的な結びつきができ得るかというと、自分の読む限りはReferenceのbaseと、値データバイナリの間だと思い、1つの疑問はこれがあっているのかどうか。あるとすると、オブジェクト型とその他の型の参照に関する扱いの差は見受けられないので、実は全ての型において間接的な結びつきがなされていると考えるのが最も自然なのではないかというのが、2つ目の疑問です。9:51追記より:それは公式の仕様ではなく有志による解説です。私が仕様と言っているのは、こういったもののことです。