首页 > 解决方案 > 为什么我们使用自定义类型而不是字符串?

问题描述

我正在读一本关于打字稿的书。在一章中,我找到了代码示例:

type OptionsType = {
    db: string;
};

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

使用的是:

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

为什么我们将db字符串连接包装到自定义类型OptionsType?为什么不使用 string db,因为mongoose.connect(db);接受这个。

标签: typescriptmongoose

解决方案


功能connect由本书作者定义。他决定它应该采用一个参数,该参数是一个具有名为 的属性的对象db

db他实现了该函数,以便它从名为函数参数的属性中取出值,并使用它来调用mongoose.connect它的第一个参数是连接字符串。

作者决定这样定义他的函数并没有什么特别的原因。也许他想说明如何将值作为对象的属性传递给函数?

由于他只传递了一个值,因此实际上没有理由将其包含在一个对象中。


推荐阅读