今日の参考コード

オブジェクトを作る

オブジェクトを作る雰囲気もみなさん大体は OK だと思います。

難しくなければ!

オブジェクトを作る
const object = {
  name: "nakanishi",
  age: 34,
  hobby: "music",
  alive: true
};

オブジェクトにまつわる用語確認

オブジェクトに関係の用語を思い出しましょう。

プロパティ(property)、ネーム(name)、キー(key)、バリュー(value)…

思い出しましょう!

プロパティ: property

name: "nakanishi" この一塊りを プロパティ property と言います。

ですから、上記のオブジェクトは、以下「4 つの property を持っている」ということができます。

  • name: "nakanishi"
  • age: 34
  • hobby: "music"
  • alive: true

ちなみに property というのは所有物という意味です。つまりこのオブジェクトが持っている要素ということですね。

Property は name と value から成る

name: "nakanishi" の塊が property でした。

この塊は、さらに二つに分解できますね。name の部分と "nakanishi" の部分です。

この name の部分を name、"nakanishi" の部分を value といいます。

name

property が複数ある場合に、それを特定する「名前」が必要ですよね。それが property の name です。

object.name と name を指定することで値が取れるのはそういうことです。

value

そして名前でプロパティを特定したら、値が返ってきますよね。

このオブジェクトであれば "nakanishi" が返ってきます。これが、そのまま value です。

property, name, value まとめ

obejct は複数の property から構成されます。ある特定の property を指名するには、name で指名します。そして、指名をすると value が返ってきます。

テストを書いてみよう

オブジェクトの作成とプロパティのテスト
import { getType } from "typechecker";

describe("object", () => {
  //オブジェクトを作る
  const object = {
    name: "nakanishi",
    age: 34,
    hobby: "music",
    alive: true
  };

  it("オブジェクトの型チェック", () => {
    const res = getType(object);
    expect(res).toEqual("object");
  });

  describe("オブジェクトのプロパティのチェック", () => {
    it(".age の型", () => {
      const res = getType(object.age);
      expect(res).toEqual("number");
    });

    it(".age の値", () => {
      const res = object.age;
      expect(res).toEqual(34);
    });

    it(".alive の型", () => {
      const res = getType(object.alive);
      expect(res).toEqual("boolean");
    });

    it(".alive の値", () => {
      const res = object.alive;
      expect(res).toEqual(true);
    });
  });
});

宿題

  • オブジェクトを書く
  • オブジェクトの用語を思い出す!
  • テストを書いて、オブジェクトのプロパティにアクセスし、その値をテストしよう!

今日は以上です!!

key は?

key のことを書くのを忘れていました。key は name と同じです!!