オブジェクト
参考:
JavaScript の基本 Object を活用しよう – Qiita
JavaScript Objects | W3Schools
使い方
参考:
How To Create, Modify, and Loop through Objects in JavaScript | DigitalOcean
プロパティ
参考:
プロパティの追加と削除 | JavaScript 入門 (www.ajaxtower.jp)
JavaScript のオブジェクトのプロパティ一覧を取得する方法とオブジェクトが指定の名前のプロパティをもっているか検査する方法 | ひだまりソケットは壊れない
JavaScript Properties | W3Schools
プロパティ定義の省略記法
var a = "foo", b = 42, c = {}; // Shorthand property names (ES2015) var o = { a, b, c };
参考:
Object.assign() の使い方
- オブジェクトの拡張
- オブジェクトのコピー
- プロパティのコピー
- プロパティのマージ
参考:
オブジェクトの値をコピーする Object.assign() | 30歳からのプログラミング
Javascript で Object を extend / assign / merge する4つの方法 – Qiita
ディープコピー
参考:
javascript で lodash を使ってディープコピーを簡単に行う – Qiita
JavaScript でディープコピーを実現するための最もシンプルな方法 | Deep Rain
ES6 の Object.assign がシャローコピーなのでディープコピーする方法を考える | Black Everyday Company
_.cloneDeep(value) | Lodash Documentation [Official]
オブジェクトのマージ
オブジェクトを破壊的にマージする。
let obj3 = Object.assign(obj1, 0bj2);
第一引数のオブジェクトに対して破壊的にオブジェクトをマージする。第一引数のオブジェクトの参照を戻り値として返す。
参考:
連想配列などのオブジェクトの値をマージするには Object.assign() を利用する – Qiita
Object.keys()
オブジェクトのキーを配列として取得する。
Object.keys(obj)
参考:
.keys() | JavaScript 日本語リファレンス (js STUDIO)
要素数を取得する
オブジェクトの要素数を取得する。
Object.keys(obj).length
参考:
Javascript のオブジェクトのメンバ数を取るときに length プロパティが使えない。- Qiita
javascript 連想配列 (オブジェクト) の要素数が知りたい。| かもメモ
Length of a JavaScript object – Stack Overflow
オブジェクトが空かどうか判定する
Object.keys(obj).length == 0
参考:
JavaScript で空のオブジェクトの判定方法 | monopocket blog
How do I test for an empty JavaScript object? – Stack Overflow
Object.defineProperty()
参考:
プロパティの一覧を列挙する方法
参考:
JavaScript でオブジェクトのプロパティを列挙する方法 | 一から勉強させてください
JavaScript のオブジェクトのプロパティ一覧を取得する方法とオブジェクトが指定の名前のプロパティをもっているか検査する方法 | ひだまりソケットは壊れない
hasOwnProperty()
参考:
.prototype.hasOwnProperty() | JavaScript 日本語リファレンス (js STUDIO)
Object.prototype.hasOwnProperty() | MDN
Is the hasOwnProperty method in JavaScript case sensitive? – Stack Overflow
hasOwnProperty with more than one property – Stack Overflow
in と hasOwnProperty() の違い
参考:
in と hasOwnProperty() の違い – Qiita
オブジェクトが指定されたプロパティを保持しているかどうかの判定 | Web 備忘録 (webbibouroku.com)
hasOwnProperty() のパフォーマンス
参考:
Speed test: === vs in vs hasOwnProperty | Andrew Hedges
Object.hasOwnProperty vs Object in vs Object[] vs Array.indexOf vs Array.includes | MeasureThat.net
Which is faster, For Loop or .hasOwnProperty? – Stack Overflow
コンストラクタ
参考:
JavaScript のクラス?コンストラクタ?? – Qiita
Object.prototype.constructor | MDN
コンストラクタ関数について (オブジェクトの生成) – Qiita
Can I construct a JavaScript object without using the new keyword? – Stack Overflow
new 演算子
参考:
JavaScript で new してインスタンス生成 – Qiita
JavaScript の new って本当にいらない子? | あと味
JavaScript の new って要るの要らないの、どっち? – Qiita
new を封印するべき4つの理由 | Architect Note
new を不当に貶める陰謀と JavaScript におけるクラスの継承構造の話 | vivid memo
new 演算子なしでも動作するコンストラクタ
参考:
JavaScript で new 演算子を忘れても動作するコンストラクタを作る方法 | 綺麗に死ぬ IT エンジニア
ファクトリー関数
参考:
JavaScript の new 演算子を使わないオブジェクト生成法 | Web サプリ
new なしの Object 呼び出し
When
Object
is called as a function rather than as a constructor, it performs a type conversion.
参考:
The Object Constructor Called as a Function | ECMA-262 Edition 5.1 (ecma-international.org)
Object.create()
参考:
Object.create(…) でオブジェクトを作る – Qiita
Constructing a JavaScript object without new | Dave Does Stuff
.create() | JavaScript 日本語リファレンス (js STUDIO)
Object.prototype
参考:
プロパティを移動させる
参考:
Move an object (element) one step up with Javascript – Stack Overflow
delete
delete
演算子は、オブジェクトからプロパティを削除する。同じプロパティへの参照がそれ以上保持されない場合は、自動的に解放される。
参考:
How To Remove a Property from a JavaScript Object | W3Schools
The `delete` Operator in JavaScript | A Drip of JavaScript
How to remove a property from a JavaScript object | Flavio Copes
Understanding delete | Perfection Kills
How do I remove a property from a JavaScript object? – Stack Overflow
delete のパフォーマンス
参考:
Slow delete of object properties in JS in V8 – Stack Overflow
継承
参考:
Object.create() のお陰でピュアな JavaScript でクラス継承は楽になったか? | cat_in_136
ラッパーオブジェクト
参考:
ラッパーオブジェクト | JavaScript の入門書 (asciidwango.github.io)