タグ

あとで読むと型に関するcyber_snufkinのブックマーク (1)

  • undefinedって2種類あんねん

    const hoge1: SomeRecord = { foo: 1, }; const hoge2: SomeRecord = { foo: 1, bar: undefined, }; const fuga: SomeRecord = { foo: 2, bar: 3, }; const x = { ...fuga, ...hoge1 }; const y = { ...fuga, ...hoge2 }; これは同値にはなりません。コードを実行するとx.barは3になり、y.barはundefinedになります。 この挙動はオブジェクトが引数で指定したプロパティを持つか確認する.hasOwnPropertyメソッドを実行してみると謎が解けます。 追記) コメントでpetamorikenさんから、 プロパティの存在チェックにはObject.hasOwnが推奨されていると教えていただきました

    undefinedって2種類あんねん
  • 1