質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
オブジェクト

オブジェクト指向において、データとメソッドの集合をオブジェクト(Object)と呼びます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

2回答

1525閲覧

この一節の意味とは

aaaaaaaa

総合スコア501

オブジェクト

オブジェクト指向において、データとメソッドの集合をオブジェクト(Object)と呼びます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

1クリップ

投稿2016/07/21 11:05

javascript

1var a = {x:1,y:2}; 2var b = a; 3b.x++; 4print(b.x);//2 5print(a.x);//2 6

javascript

1var a = {x:1,y:2}; 2var b = a; 3a = {x:2,y:2}; 4print(b.x);//1

上記のソースは、オブジェクトの値を加算しても、別の変数に複製したオブジェクトの参照も加算されているところと、aが参照しているオブジェクトを別のオブジェクトの参照に変更しているところです。
参照型変数などの動作は、理解できていますがこれを説明する際に、値型変数と参照型変数の動作を比較する書籍(パーフェクトjavascript 111p)の一節が理解できないので質問しました。
"二つの比較を見て、値型変数は異なる変数から別の変数の値の変更が見えず、参照型変数は変更が見えると勘違いしないでください"
この一節が何を言っているのかいまいち理解できません。読解力の問題なのか構成の問題なのかこの文章がどこに対しての説明なのかもあやふやです。いったいどういうことなのでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

"二つの比較を見て、値型変数は異なる変数から別の変数の値の変更が見えず、参照型変数は変更が見えると勘違いしないでください"

この一節が何を言っているのかいまいち理解できません。

質問文に書かれた2つの例を見て、「値型変数は異なる変数から別の変数の値の変更が見えず、参照型変数は変更が見える」と誤解する人がいるのでは無いかという心配からの記述です。
意味不明と言うことは、あなたはそういう誤解をしていないと言うことなので、気にしなくていいかと思います。
教える立場に立ったときは、「そういう誤解をする人がいるかも」と思って教えないといけませんが。

投稿2016/07/21 13:24

otn

総合スコア84423

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

aaaaaaaa

2016/07/22 08:30

ご回答有難うございました。 まだこの一節がちんぷんかんぷんではありますが、私が変な誤解をしていないということなのなら一安心です。
Zuishin

2016/07/22 11:06

ちんぷんかんぷんということは何か誤解をしていると思います。 正しく理解していれば意味がわかるはずです。
otn

2016/07/22 13:12

意味不明じゃなくてちんぷんかんぷんなら、そうですね。 理解できていないと思います。
guest

0

始めのソースでは、b による変更が a にも影響を及ぼしています。
次のソースでは、a を変更しても b は変更されません。
値型の例がありませんが、a b をどのように変更してももう片方には影響を及ぼさないでしょう。

・値型では片方を変更してももう片方は変わらない
・参照型では片方のメンバーを変更するともう片方も変わる
以上の二点だけ見て、「参照型にすると代入によって二つの変数が対になる。そして、片方を変更するともう片方も変わる」と理解する人がいます。
参照自体を変える例を出すことにより、それが間違いであることを知らせたかったのだと思います。

投稿2016/07/21 11:54

Zuishin

総合スコア28656

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問