{category}

JavaScript - Object

Object.create()

オブジェクト・クリエイト(組み込みオブジェクト

意味 オブジェクトの作成


Object.create()とは?

`Object.create()`メソッドは、指定されたプロトタイプオブジェクトを使用して新しいオブジェクトを作成します。これにより、新しいオブジェクトに継承されるプロトタイプを指定することができます。

Object.create()の具体的な使い方

ボタンクリックでオブジェクト作成の例

<button onclick='createExample()'>Create Example</button>
<script>
function createExample() {
  const person = { isHuman: false, sayHello: function() { return 'こんにちは!'; } };
  const me = Object.create(person);
  me.name = '太郎';
  me.isHuman = true;
  alert('名前: ' + me.name + '\n人間ですか?: ' + me.isHuman + '\n挨拶: ' + me.sayHello());
}
</script>

この例では、`person`オブジェクトをプロトタイプとして新しい`me`オブジェクトを作成し、プロパティを追加・変更しています。アラートでオブジェクトの情報と継承したメソッドの結果を表示します。

プロトタイプチェーンを活用したオブジェクト作成の例

const vehicle = {
  type: '乗り物',
  getDescription: function() {
    return this.type + 'です。';
  }
};

const car = Object.create(vehicle);
car.type = '車';
car.wheels = 4;

const bicycle = Object.create(vehicle);
bicycle.type = '自転車';
bicycle.wheels = 2;

console.log(car.getDescription(), '車輪は', car.wheels, '個です。');
console.log(bicycle.getDescription(), '車輪は', bicycle.wheels, '個です。');
console.log('car は vehicle から継承していますか?', vehicle.isPrototypeOf(car));

👇出力結果

車です。 車輪は 4 個です。
自転車です。 車輪は 2 個です。
car は vehicle から継承していますか? true

この例では、`vehicle`オブジェクトをベースに`car`と`bicycle`オブジェクトを作成しています。各オブジェクトは共通のメソッドを継承しつつ、独自のプロパティを持ちます。プロトタイプチェーンの動作も確認できます。

Object.create()に関するよくある質問

Q. Object.create()の利点は?
A. Object.create()の主な利点は、既存のオブジェクトを新しいオブジェクトのプロトタイプとして使用できることです。これにより、オブジェクト間で共通のプロパティやメソッドを効率的に共有できます。
Q. newとの違いは?
A. Object.create()は既存のオブジェクトをプロトタイプとして使用しますが、newはコンストラクタ関数を使用してオブジェクトを作成します。Object.create()はより柔軟で、プロトタイプチェーンを明示的に制御できます。
Q. nullを引数にする意味は?
A. Object.create(null)を使用すると、プロトタイプを持たない純粋なオブジェクトを作成できます。これは、他のオブジェクトから継承したくない場合や、完全に独立したオブジェクトが必要な場合に便利です。

Object.create()が学べる書籍の紹介

「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、JavaScriptのObject.create()やarray.filter()、date.toDateString()、array.pop()、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。

よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。

1日5分の暗記でプログラミンが身に付く!プログラミング単語帳 公式ストアで発売中!

HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。


JavaScriptを学べる「プログラミング単語帳」アプリ

プログラミング単語帳がアプリになりました!JavaScriptはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。

収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。

いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。

2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!

2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!


関連するそのほかの単語

array.filter()

条件に合う要素を取得

種類: Array

date.toDateString()

日付の文字列を取得

種類: Date

array.pop()

末尾要素を取り出す

種類: Array

カプセル化

データを隠蔽し、安全に管理

種類: カプセル化

iterator

繰り返し処理のインターフェース

種類: ジェネレータ関数とイテレータ