gpt4 book ai didi

typescript - 如何在 TypeScript 函数中访问 'arguments'?

转载 作者:行者123 更新时间:2023-12-04 17:30:11 24 4
gpt4 key购买 nike

我有一个接受单个参数的函数,我将其称为 options .我不喜欢使用 options样式(我更喜欢命名参数)但这是现在的要求。 options 中项目的类型对象是根据 TypeScript docs 提供的

const doThing = async ({
query = null
}: {
query?: string;
}) => {
var options = Array.from(arguments)[0]
};


这失败了:
Cannot find name 'arguments'.ts(2304)
我不明白这一点,如 arguments应该存在于所有 JS 函数中。

我如何使用 arguments在 typescript 函数中?`

我正在尝试做的事情:
  • 有一个options论据
  • 强制输入并为
  • 中的数据设置默认值
  • 能够访问该 options一个名字的论据。
  • 最佳答案

    正如评论中已经指出的,箭头函数没有保留 arguments多变的。

    但是,如果您只是将这些要求拆分为不同的语句,您仍然可以拥有类型安全、单个命名参数和默认值。这也将使代码更易于阅读和理解:

    interface Options {
    query: string | null;
    }

    const defaultOptions: Options = {
    query: null,
    }

    const doThing = async (options: Partial<Options>) => {
    const completeOptions: Options = Object.assign({}, defaultOptions, options);
    };

    另外 Options interface 实际上以这种方式指定了您在函数体内需要的结构。

    此外,您现在可以传递部分选项集,而无需逐字内联指定所有属性,其中签名的值级别 -- { query = null } -- 指定之前的默认值,以及类型级别 -- { query?: string; } -- 指定了选项键是可选的类型和事实。可选部分现在使用 Partial 完成。改为键入。

    关于typescript - 如何在 TypeScript 函数中访问 'arguments'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60531448/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com