JavaScript.js#3リファレンス(オブジェクト)タイプ
16406 ワード
💻JavaScript.jsシリーズは簡単にJavaScriptをブラウズ📖
データ型
オブジェクト()オブジェクトジェネレータ関数 オブジェクト文字 ジェネレータ関数
オブジェクト作成者関数は、組み込まれた関数です.
サンプルコードを見て、作成方法について説明します.
EX
まず、文字は固定された値です.
データ自体を表し、変数の不変データに格納します.
簡単な表記にするなら簡単なはず
カッコ{}を使用してオブジェクトテキストを作成できます.
任意の式(プロパティ)の値は式であり、関数の場合はメソッドと呼ばれます.
同じobj変数をオブジェクト文字で作成する例.
EX
JavaScriptでは、関数を使用してオブジェクトを作成することもできます.
オブジェクトコンストラクション関数で以前に使用したnewという演算子を適用できます.
オブジェクトは、新しい値を持つ断面ビームを作成し、その断面ビームにアクセスして値を読み込むか、値を所望の値に更新します.
アクセスには2つの方法があります.
句読点句点表記法ex)obj.value EX
更新するには、オブジェクトのプロパティに最初にアクセスする必要があります.
EX
delete演算子を使用すると、オブジェクトのプロファイルを削除できます.
ただし、オブジェクトのプロパティのみを削除し、オブジェクト自体を削除することはできません.
EX参照タイプ
内部JavaScript
データ型
JavaScriptの値は、概ねデフォルトタイプと参照タイプに分けられます.
前の投稿では、基本的なタイプについて説明しました.
次に、リファレンス(オブジェクト)タイプを見てみましょう.
オブジェクト
リファレンスタイプを理解する前に、すべての値の親オブジェクトについて説明します.
どうしてお母さんなの?JavaScriptのすべての値は、デフォルトのタイプを除いてオブジェクトであるためです.
最終的には、配列、関数、正規表現などのJavaScript内のオブジェクトに存在します.
参照タイプはオブジェクトであり、そのソースはオブジェクトであると考えられます.
オブジェクトの作成
オブジェクトはコンテナで、名前(キー):値(値)の形式のPropertiesを格納します.
オブジェクトを作成する方法は大きく3つあります.
リファレンスタイプを理解する前に、すべての値の親オブジェクトについて説明します.
どうしてお母さんなの?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つの方法があります.
句読点
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値も変化します.
オブジェクトの比較
オブジェクトを比較すると、基本情報ではなく参照値が比較されます.
EXconst 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)です.
関数を呼び出し、値をパラメータとして渡します.
デフォルトのタイプの値がコピーされ、関数に渡されます.
コピーされた値なので、実際に変数の値を変更することなく、コピーされた値を任意に変更できます.
ただし、参照タイプの場合、参照の値は関数の内部に入ります.
関数で行った変更は完全に反映されます.
EXconst 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のオブジェクトである配列を参照するのに時間がかかります.🙂
ソース
const a = { value: "a"};
const b = a;
b.value = "b";
console.log(b.value); // "b"
console.log(a.value); // "b"
const obj = { name : "chkim132" };
const obj2 = { name : "chkim132" };
console.log(obj === obj2); // false;
const obj3 = obj;
console.log(obj === obj3); // true
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!
また、オブジェクトと参照タイプについても説明します.
次の投稿では、JavaScriptのオブジェクトである配列を参照するのに時間がかかります.🙂
ソース
Reference
この問題について(JavaScript.js#3リファレンス(オブジェクト)タイプ), 我々は、より多くの情報をここで見つけました https://velog.io/@chkim132/자바스크립트.js-참조객체-타입テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol