10.オブジェクト共通
2609 ワード
2022.04.05.火曜日です。
10.オブジェクト共通
10.1対象とは?
:元の値以外の値はオブジェクトで、オブジェクトは変更可能な値です.オブジェクトは、0つ以上のpropertyからなる集合です.
10.2オブジェクトテキストからオブジェクトを作成する
:C++やJavaなどのクラスベースのオブジェクト向け言語では、クラスを事前に定義し、必要に応じてnew演算子を使用してジェネレータを呼び出す必要があります.逆に、JavaScriptはプロトコルタイプに基づくオブジェクト向け言語であり、複数のオブジェクト作成方法をサポートしています.
// 객체 리터럴을 통한 생성 예제
var person = {
name: 'Lee',
sayHello: function() {
console.log(`Hello! My name is ${this.name}.`);
}
};
console.log(typeof person);
console.log(person);
10.3%
:オブジェクトはプロセスの集合であり、プロセスはキーと値で構成されます.
設定キー:空の文字列を含むすべての文字列またはシンボル値.
設定値:JavaScriptで使用可能なすべての値.
※識別者の命名規則を守らないPropertyキーには引用符を使用する必要があります.
10.4方法
:property値が関数の場合、メソッドと呼ばれ、通常の関数を区別します.
10.5%アクセス
ピリオド記号:ピリオドプロパティアクセス演算子(.)使用します.
角カッコ:角カッコプロパティを使用して演算子にアクセスします.
特長
角カッコでは、単位キーを引用符で囲む必要があります.
アクセスオブジェクトに存在しないプログラムがある場合はundefinedを返します.
識別子命名規則に従わない名前には、カッコ記号を使用する必要があります.
10.6%の価格更新
:既存のpropertyに値を割り当てると、property値がリフレッシュされます.
10.7%動的作成
:存在しないプロパティ値に割り当てると、プロパティが動的に作成され、追加されます.
10.8%削除
:delete演算子は、オブジェクトのpropertyを削除します.deleteの被演算子はproperty値にアクセスできる式でなければなりません.
10.9 ES 6に追加されたオブジェクト文字の拡張
:ES 6は、より単純で表現力のあるオブジェクト文字拡張を提供します.
// ES5
var x = 1, y = 2;
var obj = {
x: x,
y: y,
};
// ES6
var x = 1, y = 2;
var obj = {x, y};
// ES5
var prefix = 'prop';
var i = 0;
var obj = {};
obj[prefix + '-' + ++i] = i;
obj[prefix + '-' + ++i] = i;
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}
// ES5
var obj = {
name: 'Lee',
sayHi: function() {
console.log('Hi! ' + this.name);
}
};
obj.sayHi()
// ES6
const obj = {
name: 'Lee',
sayHi() {
console.log('Hi!' + this.name);
}
};
obj.sayHi();
Reference
この問題について(10.オブジェクト共通), 我々は、より多くの情報をここで見つけました https://velog.io/@yhs4157/10.-객체-리터럴テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol