JavaScript の Object と Array の主な違い(日本語)

JavaScript の"Object"と"Array"は、非常に密接な関係にある 2 つの基本的なオブジェクトタイプです。これら 2 つを比較すると、次のような類似点と違いが見られます。

共通点

  • "Array"は"Object"のサブクラスまたはサブプロトタイプです。つまり、"Array"は新しいデータタイプではありません。"Array"と"Object"は同じデータタイプである"object"を共有しています。
  • "Array"オブジェクトの typeof 演算子の結果は"object"です。

違い

  • "instanceof"演算子を使用して"Array"オブジェクトを確認すると、"Array"と一致します。また、"Array"は"Object"のサブクラスであるため、"Object"とも一致します。
  • "Object"のオブジェクトは、"Array"オブジェクトと同じ構文を使用してインデックスにアクセスできる属性を持つことができます。
  • "Object"のオブジェクトは"Array"のオブジェクトではありません。つまり、"Object"のインスタンスは配列ではありません。
  • "Array"のオブジェクトはまた"Object"のオブジェクトでもあります。つまり、配列はオブジェクトの一種です。

例を通じてオブジェクトと配列の違いを理解することができるでしょう。オブジェクトはキーと値のペアの集まりであり、配列は順序のある要素の集まりです。そして、配列はオブジェクトの一種であるため、配列はオブジェクトのすべての属性とメソッドを継承します。

JavaScript Object와 Array의 핵심 차이점

// Object 예시
let person = {
    name: "John",
    age: 30,
    address: {
        city: "New York",
        zip: "10001"
    }
};

// Array 예시
let colors = ["red", "green", "blue"];

console.log(typeof person); // "object"
console.log(typeof colors); // "object"

console.log(person instanceof Object); // true
console.log(person instanceof Array); // false
console.log(colors instanceof Object); // true
console.log(colors instanceof Array); // true

console.log(person.address.city); // "New York"
console.log(colors[0]); // "red"