JavaScript 第5版 - 3章 データ型と値(7)

JavaScript 第5版の「3章 データ型と値」の「3.15 「値による」データ型操作と「参照による」データ型操作」(42~47ページ)を読み進めていきます。

3.15 「値による」データ型操作と「参照による」データ型操作

3.15.1 基本型と参照型

  • 原則として、基本型は値により操作し、参照型は参照で操作する。
  • 数値、論理値は基本型に分類され、(関数、配列を含む)オブジェクトは参照型に分類される。
  • 関数にオブジェクトを渡すと、実際に渡されるのはオブジェクトの参照である。

関数の引数にオブジェクトを指定するとオブジェクトの参照が渡されるので、関数から外部のオブジェクトの内容を変更することができます。ただし、オブジェクトの参照自体が渡されるのではなく、オブジェクトの参照のコピーが値により渡されるのであって、参照自体を変更することはできません。

function addN_1(a, n) {
    // 元のdに変更が反映される。
    a[0] = a[0] + n;
    a[1] = a[1] + n;
}

function addN_2(a, n) {
    var result = new Array(2);

    result[0] = a[0] + n;
    result[1] = a[1] + n;

    a = result;  //  元のdには影響を与えない。
}

var d = new Array(10, 20);

addN_1(d, 10);
addN_2(d, 10);

3.15.2 文字列は「値による」のか「参照による」のか

  • 文字列は不変であり、値によるのか参照によるのかを知る術はない。

3.15.3 文字列の比較

  • 文字列は値として比較される。

3.15.4 「値による」データ型の操作と「参照による」データ型操作のまとめ

47ページの「表3-5 JavaScriptのデータ型操作」にデータ型操作についての要点がまとめられています。

ようやく第3章が読み終わりました。正直、まとめるのに疲れましたが理解は深まったと思います。

コメント (0)

この記事へのコメントはまだありません。

コメントフォーム

トラックバック (0)

この記事へのトラックバックはまだありません。

この記事のトラックバックURI
http://dxd8.com/archives/52/trackback/
この記事のURI
http://dxd8.com/archives/52/