TIL 22|JS(オブジェクト文字)
11009 ワード
Modern JavaScript DeepDiveから抜粋したオブジェクト文字の内容を書きます.
オブジェクト範囲の
PropertyとMethodからなる集合
JSはオブジェクトベースのプログラミング言語です.JSを構成する「ほぼすべて」のオブジェクト.
元の値以外のすべての値(関数、配列、正規表現など)がオブジェクトです.
元の値とオブジェクトタイプの比較 元の値:1つの値、可変値 オブジェクトタイプ比較 複合材料構造 は、異なるタイプの値(元の値、異なるオブジェクト)を1つのユニットに構成する.変更可能な値 KeyとValueからなる属性集合 形式:var person={
name:“Lee”(Property)
age(Property Key):20(Property値)
};
PropertyとMethod JSのすべての使用可能な値は、Property値(関数であってもよい) であってもよいメソッド:Properties値が関数の場合、メソッド(オブジェクト内の関数) と呼ばれ、一般的な関数を区別します.ロール:オブジェクトの状態を表す値(データ) メソッドの役割: アクションProperty(ステータスデータ)参照および操作可能
JSはプロトタイプベースのオブジェクト向け言語であり、複数のオブジェクト作成方法をサポートする オブジェクト文字 オブジェクトジェネレータ関数 ジェネレータ関数 Object.createメソッド クライス(ES 6) 文字:理解可能な文字または約定記号を使用して値を生成する記号オブジェクト回転 オブジェクトを作成する最も簡単な方法 オブジェクトのテキストは、オブジェクトのシンボルを作成するために使用されます. オブジェクト文字は括弧({...})で0個以上のプロパティを定義します.カッコはコードブロックを表しません.カッコ内にPropertyが定義されていない場合は、空のオブジェクトが作成されます.かっこの後ろにプラス記号 変数に割り当てられると、JSエンジンはオブジェクト文字を解析して を作成する.オブジェクトの作成と同時にPropertyを作成することも、オブジェクトの作成後にProperty を動的に追加することもできます.オブジェクト文字は、値から算出する式であり、変数 に割り当てることができる.オブジェクト文字以外のすべてのオブジェクト作成方法は、関数を使用してオブジェクト を作成する.
オブジェクトはPropertyの集合であり、Propertyはキーと値からなる である.パーセントがリストされている場合は、カンマ(,)で区切ります.最後の番組の後にカンマは使用しませんが、 も使用できます.パーセント値:JSで使用可能なすべての値 PropertyKey の空の文字列を含むすべての文字列またはシンボル値 識別子として使用されるパーセント値の名前にアクセスできます. 文字列または文字列として計算可能な式を使用して、propertyキーを動的に生成することもできます.propertyキーとして使用する式は、四角カッコ([])で で囲む必要があります.
Propertyキーで文字列またはシンボル値以外の値を使用する場合、文字列は暗黙的なタイプ変換で に変換されます.は、既存のpropertyキーを繰り返し宣言し、その後に宣言されるpropertyが最初に宣言したpropertyを上書きする. JSのすべての使用可能な値は、Property値 として使用できます. JSの関数はオブジェクト:関数の値とすることができるので、propertyの値として を使用することができる.の単位値が関数である場合、一般関数を区別する方法 と呼ぶ.
このキーワードはメソッドで使用され、オブジェクト自体(以下の例では円オブジェクト)の参照変数 を指す. Propertyにアクセスする2つの方法 ピリオド記号:ピリオドプロパティアクセス演算子(.)使用方法 角カッコ記号:角カッコプロパティアクセス演算子([...])使用方法 既存のプロパティに値を割り当てると、プロパティ値 が更新されます.存在しないPropertyに値を割り当てると、動的にPropertyが作成され、追加され、 がProperty値に割り当てられます. delete演算子オブジェクトのproperty を削除 delete演算子の被演算子は、property値にアクセス可能な式 である必要がある.が存在しない番組を削除すると、 は無視されることは間違いない.パーセントサムネイルは を表す.計算された専門名 メソッドサムネイル
オブジェクト範囲の
オブジェクト(object)
PropertyとMethodからなる集合
JSはオブジェクトベースのプログラミング言語です.JSを構成する「ほぼすべて」のオブジェクト.
元の値以外のすべての値(関数、配列、正規表現など)がオブジェクトです.
元の値とオブジェクトタイプの比較
name:“Lee”(Property)
age(Property Key):20(Property値)
};
PropertyとMethod
オブジェクトテキストからオブジェクトを作成するには
JSで様々なオブジェクトを作成する方法
保証する
var person = {
// 프로퍼티 키는 name, 프로퍼티 값은 'Lee'
name: 'Lee',
// 프로퍼티 키는 age, 프로퍼티 값은 20
age: 20
};
var obj = {};
var key = 'hello';
// ES5: 프로퍼티 키 동적 생성
obj[key] = 'world';
// ES6 : 계산된 프로퍼티 이름
// var obj = { [key]: 'world' };
console.log(obj); //{hello: "world"}
var foo = {
0 : 1,
1 : 2,
2 : 3
};
console.log(foo); // {0:1, 1:2, 2:3}
var foo = {
name : 'Lee',
name : 'Kim'
};
console.log(foo); // {name:"Kim"}
方法
このキーワードは
var circle = {
radius: 5, // <- 프로퍼티
// 원의 지름
getDiameter: function () { // <- aptjem
return 2 * this.radius; // this는 circle을 가리킨다.
}
};
console.log(circle.getDiameter()); // 10
特許アクセス
プロパティ値の更新
var person = {
name: 'Lee'
};
// person 객체에 name 프로퍼티가 존재하므로 name 프로퍼티의 값이 갱신된다.
person.name = 'Kim';
console.log(person); //{name : 'Kim'}
Property動的作成
var person = {
name: 'Lee'
};
person.age=20;
console.log(person); //{name : 'Kim', age:20}
プロパティの削除
var person = {
name: 'Lee'
};
person.age=20;
console.log(person); //{name : 'Lee', age:20}
delete person.age;
console.log(person); //{name : 'Lee'}
delete person.address;
console.log(person); //{name : 'Lee'}
ES 6に追加されたオブジェクト文字の拡張
Reference
この問題について(TIL 22|JS(オブジェクト文字)), 我々は、より多くの情報をここで見つけました https://velog.io/@yeonbee/TIL-22-JS객체리터럴テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol