LoginSignup
1
1

More than 1 year has passed since last update.

40 代おっさん GASのObjectオブジェクトについて学ぶ

Posted at

本記事ついて

本記事は プログラミング初学者の私が学習していく中でわからない単語や概要をなるべくわかりやすい様にまとめたものです。
もし誤りなどありましたらコメントにてお知らせいただけるとありがたいです。

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);
}

参考資料

1
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1