🍨

クラスは?インスタンスは?:プロトタイプベースの言語でのオブジェクト生成【JS】

2022/02/13に公開

JavaScriptはプロトタイプベース

作成済みのオブジェクトをコピって、プロパティなど部分的に変更して違うオブジェクトとして使用する。
そのため、事前に雛形を作っておくことを強要しない。(強要しないだけで、クラスはあるしnewもできる。)
オブジェクトをクローンしてみるコード▼

const clonedObject = Object.create(originalObject);

Javaなどはクラスベース

比較してJavaなどはクラスベース。事前に雛形を作っておいて、雛形から実態オブジェクトとなるインスタンスを作って使用するイメージ。

参考

書類作成のくだりが非常にわかりやすい。
https://typescriptbook.jp/reference/values-types-variables/object/prototype-based-programming

Discussion