何が起きた
下記のように関数を書いていたのをChatGPTと一緒にリファクタリングしていたら、出てきた案が「そんなのあるの?!」という感じだったので共有します。
いつもの書き方
// (前略)
type CreateAudioMetaProps = {
title: string;
filePath: string;
};
export const createAudioMeta = (
realm: Realm,
{ title: titleA, filePath: filePathB }: CreateAudioMetaProps // ←よく見る書き方で安心する
) => {
realm.write(() => {
realm.create(AudioMeta, {
_id: new Realm.BSON.ObjectId(),
title: titleA,
filePath: filePathB,
});
});
};
結論
Objectのkeyとvalueの文字列を一致させることで、Objectのvalueの記述を省略できるらしいです。
驚きの書き方
// (前略)
type CreateAudioMetaProps = {
title: string;
filePath: string;
};
export const createAudioMeta = (
realm: Realm,
{ title, filePath }: CreateAudioMetaProps // ← こんな書き方ができるらしいです
) => {
realm.write(() => {
realm.create(AudioMeta, {
_id: new Realm.BSON.ObjectId(),
title, // ← こんな書き方ができるらしいです
filePath, // ← こんな書き方ができるらしいです
});
});
};
これが筆者の驚いた書き方で、備忘録がてらの共有でした。
皆さんのソースコードリーディング力の底上げのお力になれれば幸いです。