Zyp*_*rax 11 unused-variables typescript
当我编译我的打字稿项目时,我正在使用该noImplicitAny选项,以便我不会忘记在我的变量和参数上指定类型.
但是,有时您会有不使用的参数.例如:
jQuery.ajaxTransport("+*", function (options: JQueryAjaxSettings) {
return {
abort: function (_, callback: JQueryCallback) {
Run Code Online (Sandbox Code Playgroud)
我对中止函数的第一个参数不感兴趣,所以我通过命名它来忽略它.
这是在TypeScript中这样做的正确方法吗?我在指南中找不到它.我怀疑这不是正确的方法,因为我只能命名一个参数_.
Typescript引发以下错误:
错误TS7006:参数'_'隐式具有'any'类型.
我可以输入,_:any但对于我不使用的参数来说,这似乎有点矫枉过正.
Kei*_*ith 18
我遇到了同样的问题.使用say express和routing,您通常只需要res参数.
router.get('/', function (req, res) { res.end('Bye.'); });
Run Code Online (Sandbox Code Playgroud)
你使用_的想法在这里起作用,但我也发现这样做也有效.
function (_1, _2, _3, onlyThis) { console.log(onlyThis); }
Run Code Online (Sandbox Code Playgroud)
这似乎更好,因为我认为只使用'_'可能会使lodash/underscore有点混乱,而且它也很明显它是你感兴趣的第四个参数.
Mia*_*aow 10
我可能迟到了,但我陷入了其他解决方案的困扰,而这个解决方案一直对我有用:
function ({}={}, {}={}, {}={}, onlyThis) { console.log(onlyThis); }
Run Code Online (Sandbox Code Playgroud)
当使用_0,_1,...的解决方案,我面临着舀功能类似的困难:
function parent(_0, _1, _2) {
function child(_0, _1, _2) {
// TypeScript crying about shallowed variables
}
}
Run Code Online (Sandbox Code Playgroud)
但是使用空对象可以很好地工作:
function parent({}, {}, {}) {
function child({}, {}, {}) {
// :-)
}
}
Run Code Online (Sandbox Code Playgroud)
即使参数输入如下:
function parent({}: number, {}: string, {}: any) {
function child({}: number, {}: string, {}: any) {
// :-) x2
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:
如此处所述,如果给定参数为undefined或,则设置默认值可避免引发错误null。
function parent({}={}, {}={}, {}={}) {
function child({}={}, {}={}, {}={}) {
// :-)
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8698 次 |
| 最近记录: |