gpt4 book ai didi

typescript - 跳过未使用参数的类型检查

转载 作者:搜寻专家 更新时间:2023-10-30 20:33:52 25 4
gpt4 key购买 nike

当我编译我的 typescript 项目时,我使用了 noImplicitAny 选项,这样我就不会忘记在我的变量和参数上指定类型。

然而,有时您会有不使用的参数。例如:

jQuery.ajaxTransport("+*", function (options: JQueryAjaxSettings) {
return {
abort: function (_, callback: JQueryCallback) {

我对 abort 函数的第一个参数不感兴趣,所以我将其命名为 _ 以忽略它。

这是在 TypeScript 中执行此操作的正确方法吗?我在指南中找不到它。我怀疑这不是正确的方法,因为我只能说出一个论点 _。

typescript 引发以下错误:

error TS7006: Parameter '_' implicitly has an 'any' type.

我可以只输入 _:any,但对于我不使用的参数来说,这似乎有点矫枉过正。

最佳答案

我遇到了同样的问题。使用 say express 和路由,您通常只需要 res 参数。

router.get('/', function (req, res) { res.end('Bye.'); });

您使用 _ 的想法在这里行得通,但我也发现这样做也行得通。

function (_1, _2, _3, onlyThis) { console.log(onlyThis); }

这看起来更好,因为我认为只做 '_' 可能会使 lodash/underscore 的使用有点困惑,而且它也很明显是您感兴趣的第 4 个参数。

Update: It's been a long time since I posted this answer, and in thecomments I'm getting a few miss conceptions. So though I wouldclarify.

使用下划线技巧在 Typescript 中仍然非常有用。就像我在原来的回答中提到的那样,如果您使用的是 express 并且执行了 app.get('/', (req, res) => { 您将收到警告 'req' is声明但它的值永远不会被读取,但是如果你这样做 -> app.get('/', (_req, res) => { 警告将会消失。你不应该得到 error TS7006: Parameter 'req' implicitly has an 'any' type. 错误无论如何,因为 @types/express 无论如何都应该隐式输入这个参数。

Update 2,. Please note the second answer here using {} for parameters, might look cool, but it's considerable slower, so personally I would be careful using inside tight loops.

关于typescript - 跳过未使用参数的类型检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38835001/

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