本記事ついて
本記事は プログラミング初学者の私が学習していく中でわからない単語や概要をなるべくわかりやすい様にまとめたものです。
もし誤りなどありましたらコメントにてお知らせいただけるとありがたいです。
Objectオブジェクト
Objectオブジェクトとは
オブジェクトとしての基本的な性質を提供するもの
すべてのオブジェクトの土台となっているもの
new演算子にてObjectオブジェクトのインスタンスを生成できる。
構文
new Object()
上の場合、生成されるのは空のオブジェクトです。
特定のプロパティを持つオブジェクト生成するのであれば、オブジェクトリテラルを使用する。
構文
{プロパティ1: 値1, プロパティ2: 値2 ...}
共通のプロパティ、メソッドを持つオブジェクトを生成するのであれば、クラスを定義し、インスタンスを生成する。
Objectオブジェクトの主なメンバー
分類 | メンバー | 戻り値 | 説明 |
---|---|---|---|
メソッド | toString() | String | オブジェクトを表す文字列を返す |
静的メソッド | Object.freeze(obj) | Object | オブジェクトを凍結し変更を不可とする |
静的メソッド | Object.seal(obj) | Object | オブジェクトを封印しプロパティの追加・削除を不可とする |
静的メソッド | Object.isFrozen(obj) | Boolean | オブジェクトが凍結されているかどうかを判定する |
静的メソッド | Object.isSealed(obj) | Boolean | オブジェクトが封印されているかどうかを判定する |
プロパティ | constructor | オブジェクトを生成したクラス(コンストラクタ関数)を返す |
function toshiki4() {
const obj = new Object();
console.log(obj.toString());
console.log(obj.constructor);
const person = {name: '利樹', age: 4};
console.log(person.toString());
console.log(obj.constructor);
const number = 123;
console.log(number.toString());
console.log(number.constructor);
const d = new Date;
console.log(d.toString());
console.log(d.constructor);
const array = [10, 20, 30, 40];
console.log(array.toString());
console.log(array.constructor);
}
オブジェクトの凍結、封印
オブジェクトは定数を格納した場合、再代入はできないがプロパティの追加、値は変更できる。
それをできなくすることが可能
freezeメソッドは、オブジェクトを凍結するメソッド
構文
Object.freeze(オブジェクト)
sealメソッドは、オブジェクトを封印するメソッド
構文
Object.seal(オブジェクト)
新たなプロパティの追加できないが、プロパティの変更は可能
function toshiki4() {
const person = {name: '利樹', age: 4};
Object.seal(person);
person.name = 'パパ';
person.favorite = 'みかん';
console.log(person);
Object.freeze(person);
person.name = 'ママ';
person.favorite = '野菜';
console.log(person);
}