今日の参考コード

オブジェクトを作る

オブジェクトを作る雰囲気もみなさん大体は 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 は namevalue から成る

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

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

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

name

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

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

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 のことを書くのを忘れていました。keyname と同じです!!