Saya sedang membaca buku tentang TypeScript. Dalam satu bab saya telah menemukan contoh kode:

type OptionsType = {
    db: string;
};

export const connect = ({ db }: OptionsType): void => {
  mongoose.connect(db);
};

Dan menggunakan adalah:

const db = "mongodb://";
connect({ db });

Mengapa kami membungkus koneksi string db ke tipe kustom OptionsType? Mengapa tidak menggunakan string db, karena mongoose.connect(db); menerima ini.

0
user13295902 29 Mei 2020, 21:43

1 menjawab

Jawaban Terbaik

Fungsi connect didefinisikan oleh penulis buku. Dia memutuskan itu harus mengambil parameter tunggal yaitu objek dengan properti bernama db.

Dia mengimplementasikan fungsi itu sehingga mengambil nilai dari properti bernama db dari argumen fungsi dan menggunakannya untuk memanggil mongoose.connect yang membutuhkan parameter pertamanya adalah string koneksi.

Tidak ada alasan khusus mengapa penulis memutuskan untuk mendefinisikan fungsinya seperti itu. Mungkin dia ingin mengilustrasikan bagaimana Anda bisa memasukkan nilai ke dalam fungsi sebagai properti dari suatu objek?

Karena dia hanya memberikan satu nilai, tidak ada alasan untuk membungkus objek.

0
Kamil Szot 29 Mei 2020, 19:01