第10章対象転
13343 ワード
オブジェクトバー
オブジェクトは0つ以上のPropertyで構成され、Propertyはキーと値で構成されます.
属性:オブジェクトの状態を表す値(データ)
メソッド:Property(ステータスデータ)の参照と操作の動作
オブジェクトはオブジェクトの状態を表す値と参照と操作が可能な動作を同時に含むことができるため、状態と動作を1つのユニットに構造化することが非常に有用である.
Property動的作成
存在しないプロジェクトに値を割り当てると、プロジェクト値が動的に作成、追加、割り当てられます.
📙 Propertyサムネイル表示
ES 6では、変数をproperty値として使用する場合、変数名がpropertyキーと同じ名前である場合、propertyキーを省略することができる.この場合、propertyキーは自動的に変数名として生成されます.
文字列または文字列タイプに変換可能な式を使用して、
ただし、propertyキーとして使用する式のカッコ([...])ロープで縛らなければならない.これを
ES 5でメソッドを定義するには、関数をProperty値として指定しますが、ES 6ではメソッドの定義時に関数キーワードを省略したサムネイル表示を使用できます.
オブジェクトは0つ以上のPropertyで構成され、Propertyはキーと値で構成されます.
var person = {
name: 'Lee',
age: 20
};
この場合、property値が関数であれば、메서드(method)
と呼ばれ、一般関数を区別するために用いられる.var counter = {
// 프로퍼티
num: 0,
// 메서드
increase: function() {
this.num++;
}
};
関数は値として処理できるのでproperty値として使用できます.属性:オブジェクトの状態を表す値(データ)
メソッド:Property(ステータスデータ)の参照と操作の動作
オブジェクトはオブジェクトの状態を表す値と参照と操作が可能な動作を同時に含むことができるため、状態と動作を1つのユニットに構造化することが非常に有用である.
Property動的作成
存在しないプロジェクトに値を割り当てると、プロジェクト値が動的に作成、追加、割り当てられます.
var person = {
name: 'Lee'
};
person.age = 20; // age 프로퍼티가 동적으로 생성되고 값이 할당
console.log(person); // {name: "Lee", age: 20}
プロパティの削除delete
演算子は、オブジェクトのpropertyを削除します.delete
演算子の被演算子は、property値に近い式でなければならない.存在しないプログラムを削除すると、間違いなく無視されます.var person = {
name: 'Lee'
};
person.age = 20;
delete person.age; // 삭제
delete person.address; // 삭제 불가능. 하지만 에러는 발생하지 않는다.
console.log(person); // {name: 'Lee'}
ES 6に追加されたオブジェクト文字の拡張ES6
は、より単純で表現力のあるオブジェクト文字拡張機能を提供します.📙 Propertyサムネイル表示
ES 6では、変数をproperty値として使用する場合、変数名がpropertyキーと同じ名前である場合、propertyキーを省略することができる.この場合、propertyキーは自動的に変数名として生成されます.
let x = 1, y = 2;
// ES5
var obj = {
x: x,
y: y
};
console.log(obj); // {x: 1, y: 2}
// ES6
const obj = { x, y }; // 프로퍼티 축약 표현
console.log(obj); // {x: 1, y: 2}
📙 計算された構成名文字列または文字列タイプに変換可能な式を使用して、
동적
でpropertyキーを生成できます.ただし、propertyキーとして使用する式のカッコ([...])ロープで縛らなければならない.これを
계산된 프로퍼티 이름(computed property name)
といいます.// ES5
var prefix = 'prop';
var i = 0;
var obj = {};
// 객체 리터럴 외부에서 대괄호를 사용해야 함
obj[prefix + '-' + ++i] = i;
console.log(obj); // {prop-1: 1, prop-2: 2, prop-3: 3}
// ES6
const prefix = 'prop';
let i = 0;
// 객체 리터럴 내부에서도 동적 생성 가능
const obj = {
[`${prefix}-${++i}`]: i,
[`${prefix}-${++i}`]: i,
[`${prefix}-${++i}`]: i,
};
console.log(obj); // {prop-1: 1, prop-2: 2, prop-3: 3}
📙 メソッド簡略表示ES 5でメソッドを定義するには、関数をProperty値として指定しますが、ES 6ではメソッドの定義時に関数キーワードを省略したサムネイル表示を使用できます.
// ES5
var obj = {
name: 'Lee',
// 프로퍼티 값으로 함수를 할당
sayHi: function() {
console.log('Hi ' + this.name);
}
};
obj.sayHi(); // Hi! Lee
// ES6
const obj = {
name: 'Lee',
// 메서드 축약 표현
sayHi() {
console.log('Hi ' + this.name);
}
};
obj.sayHi(); // Hi! Lee
ES 6で定義された方法の簡略表現は、Propertyに割り当てられた関数とは異なる.これを第26章で確認!Reference
この問題について(第10章対象転), 我々は、より多くの情報をここで見つけました https://velog.io/@niyu/10장-객체-리터럴-모던-자바스크립트-Deep-Diveテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol