JavaScript.js#3リファレンス(オブジェクト)タイプ


💻JavaScript.jsシリーズは簡単にJavaScriptをブラウズ📖

データ型


JavaScriptの値は、概ねデフォルトタイプと参照タイプに分けられます.

前の投稿では、基本的なタイプについて説明しました.
次に、リファレンス(オブジェクト)タイプを見てみましょう.

オブジェクト


リファレンスタイプを理解する前に、すべての値の親オブジェクトについて説明します.
どうしてお母さんなの?JavaScriptのすべての値は、デフォルトのタイプを除いてオブジェクトであるためです.
最終的には、配列、関数、正規表現などのJavaScript内のオブジェクトに存在します.
参照タイプはオブジェクトであり、そのソースはオブジェクトであると考えられます.

オブジェクトの作成


オブジェクトはコンテナで、名前(キー):値(値)の形式のPropertiesを格納します.
オブジェクトを作成する方法は大きく3つあります.
  • オブジェクト()オブジェクトジェネレータ関数
  • オブジェクト文字
  • ジェネレータ関数
  • オブジェクト()作成者関数


    オブジェクト作成者関数は、組み込まれた関数です.
    サンプルコードを見て、作成方法について説明します.
    EX
    const obj = new Object();
    
    obj.name = "chkim132";
    obj.title = "자바스크립트.js";
    
    console.log(typeof obj); // object
    console.log(obj); // { name : "chkim132", title : "자바스크립트.js" }

    オブジェクト範囲の


    まず、文字は固定された値です.
    データ自体を表し、変数の不変データに格納します.
    簡単な表記にするなら簡単なはず
    カッコ{}を使用してオブジェクトテキストを作成できます.
    任意の式(プロパティ)の値は式であり、関数の場合はメソッドと呼ばれます.
    同じobj変数をオブジェクト文字で作成する例.
    EX
    const obj = { name : "chkim132", title : "자바스크립트.js" };
    
    console.log(typeof obj); // object
    console.log(obj); // { name : "chkim132", title : "자바스크립트.js" }

    コンストラクタ


    JavaScriptでは、関数を使用してオブジェクトを作成することもできます.
    オブジェクトコンストラクション関数で以前に使用したnewという演算子を適用できます.
    function Person(name, title) {
      this.name = name;
      this.title = title;
    }
    
    const me = new Person("chkim132", "자바스크립트.js")
    console.log(me); // { name : "chkim132", title : "자바스크립트.js" }
    コンストラクション関数(ここではPerson)を区別するには、最初の文字を大文字にすることをお勧めします.

    オブジェクトプロファイルへのアクセス/作成/リフレッシュ/削除


    オブジェクトは、新しい値を持つ断面ビームを作成し、その断面ビームにアクセスして値を読み込むか、値を所望の値に更新します.

    オブジェクト構成アクセス


    アクセスには2つの方法があります.
    句読点
  • 句点表記法ex)obj.value
  • EX
    const obj = { value : "Hello"};
    
    console.log(obj['value']);  // Hello
    console.log(obj.value); // Hello
    property値がない場合はundefinedを出力します.
    console.log(obj.name); // undefined

    オブジェクトプロファイルの作成と更新


    更新するには、オブジェクトのプロパティに最初にアクセスする必要があります.
    EX
    const obj = { value : "Hello"};
    
    obj['value'] = "Hi"
    
    console.log(obj['value']);  // Hi
    Propertyが存在しない場合は、上記の方法で作成できます.
    console.log(obj.name); // undefined
    
    obj.name = "chkim132";
    
    console.log(obj.name); // chkim132

    オブジェクトプロファイルの削除


    delete演算子を使用すると、オブジェクトのプロファイルを削除できます.
    ただし、オブジェクトのプロパティのみを削除し、オブジェクト自体を削除することはできません.
    EX
    const obj = { name : "chkim132", value : "Hello"};
    
    delete obj.value;
    
    console.log(obj); // { name : "chkim132" }

    参照タイプ


    対象を理解しましたが、参考タイプを見てみましょう.
    JavaScriptは、オブジェクトを参照タイプと呼びます.

    参照ボックス


    リファレンス(reference)とは、コピー値ではなくエンティティ値を借用することです.
    EX)
    const a = { value: "a"};
    const b = a;
    
    b.value = "b";
    
    console.log(b.value); // "b"
    console.log(a.value); // "b"
    aをbに割り当てると、値をb.value=“b”に変更しても、a.valueは“b”になります.
    どうしてこんなことになったの?
    実際、aという変数は、オブジェクト自体を格納するのではなく、作成されたオブジェクトへの参照値を格納する.すなわち、変数にオブジェクトを作成すると、エンティティ自体が変数に保存されずに参照された値が保存され、aまたはbが同じオブジェクトの値を持つようになります.bを変換するとエンティティ自体が変化し、参照エンティティのa値も変化します.

    オブジェクトの比較


    オブジェクトを比較すると、基本情報ではなく参照値が比較されます.
    EX
    const obj = { name : "chkim132" };
    const obj2 = { name : "chkim132" };
    
    console.log(obj === obj2); // false;
    objとobj 2は同じpropertyを有するがfalseを返す.
    これは、参照値が異なるためです.
    objをobj 3という変数に割り当てて比較するとどうなりますか?
    const obj3 = obj;
    
    console.log(obj === obj3); // true
    trueを返します.
    これは、前述したように、それらは同じ本体で参照されているからである.

    関数呼び出し方式の違い


    デフォルトタイプと参照タイプは、関数呼び出し方法にも違いがあります.
    デフォルトタイプの場合は、値呼び出し(Call By Value)です.
    参照タイプの場合、その動作は「参照によって呼び出される」(Call By Reference)です.
    関数を呼び出し、値をパラメータとして渡します.
    デフォルトのタイプの値がコピーされ、関数に渡されます.
    コピーされた値なので、実際に変数の値を変更することなく、コピーされた値を任意に変更できます.
    ただし、参照タイプの場合、参照の値は関数の内部に入ります.
    関数で行った変更は完全に反映されます.
    EX
    const string = "hi?";
    const obj = { say : "hi?" };
    
    function printHello(string, obj) {
      string = "Hello!";  
      obj.say = "Hello!";
      
      console.log(string); // Hello!
      console.log(obj.say); // Hello!
    };
    
    printHello(string, obj);
    
    console.log(string); // hi?
    console.log(obj.say); // Hello!
    指定した文字列のstring変数は、上記の例のように変更されません.
    参照値であるobjオブジェクトの値が変更されました.

    プロトタイプ


    すべてのオブジェクトは、親として機能する別のオブジェクトに関連付けられます.
    だからお母さんのお母さん、つまりおばあちゃんがいます.
    JavaScriptでは、このオブジェクトの名前は何ですか?プロトタイプオブジェクトと呼びます.
    デフォルトでは、JavaScriptはプロトコルベースの言語です.
    オブジェクトを作成すると、作成したオブジェクトの上にプロトタイプが作成されます.
    私たちがオブジェクトでtoString()メソッドを使用する秘訣は、ここにあります.

    上の写真のようにObjectプロトタイプにはtoString()というメソッドがデフォルトでインストールされているためです.
    並び具合はどうなりますか?

    アレイの場合はArrayです.Prototypeとその上のObjectプロトタイプオブジェクト.
    しかし、ここで生成時の原型を変えてもらえませんか?
    もちろん、プロトタイプは動的に変更できます.
    しかし、私は後でよく研究します.😊

    の最後の部分


    また、オブジェクトと参照タイプについても説明します.
    次の投稿では、JavaScriptのオブジェクトである配列を参照するのに時間がかかります.🙂
    ソース
  • 内部JavaScript